我需要一个Excel公式帮助。 我想实现以下行为:
- 式是在小区A中
- 在小区B中,我们可以有3个可能的值 - 低,中或高
因此,如果小区B的值等于低然后在单元格中的值是“是”,如果在小区B中的值等于为中或高则公式应该检查是否小区C被填充并且其内容是不同的,那么“请填写”或者保持‘空白’。 如果真,那么电池的“是”,如果没有,那么它是“否”。
如果小区B的值为空,则小区A是“否”,以及。
我需要一个Excel公式帮助。 我想实现以下行为:
因此,如果小区B的值等于低然后在单元格中的值是“是”,如果在小区B中的值等于为中或高则公式应该检查是否小区C被填充并且其内容是不同的,那么“请填写”或者保持‘空白’。 如果真,那么电池的“是”,如果没有,那么它是“否”。
如果小区B的值为空,则小区A是“否”,以及。
我不是伟大的公式,但这会做
=IF(LEN(B1)>0,IF(B1="low","Yes",IF(B1="medium",IF(C1<>"please fill in",IF(C1<>"","Yes","No"),"No"),IF(B1="high",IF(B1<>"please fill in",IF(LEN(C1)>0,"Yes","No"),"No"),"No"))),"No")
如果你想有一个VBA函数(但需要您输入每个单元格的公式,然后分别在模块中坚持这一点,然后在A列中使用它
Function CheckIt() As String
Dim r As Long
r = ActiveCell.Row
If Range("B" & r) = "low" Then
CheckIt = "Yes"
Else
If (Range("B" & r) = "medium" Or Range("B" & r) = "high") Then
If ((Range("C" & r) <> "please fill in") And (Not IsEmpty(Range("C" & r)))) Then
CheckIt = "Yes"
Else
CheckIt = "No"
End If
Else
CheckIt = "No"
End If
End If
End Function
例
下面的公式以文本方式复制你问的逻辑
=IF(B1="Low","Yes",IF(OR(B1="Medium",B1="High"),IF(OR(ISBLANK(C1),C1<>"please fill in"),"Yes","No"),IF(ISBLANK(B1),"No","Undefined")))
请注意,还有就是你离开了你的定义(这使“未定义”)的情况。 这可能不是预期。
如果“未定义”其实是不打算,还要注意的是,你只有两个可能的输出,这样的情况可以通过不同的测试代替,其中一个条件组合AND
/ OR
!而非嵌套IF
秒。
IF,OR,ISBLANK和鞋帮的组合应该解决您的问题。
=IF(UPPER(B2)="LOW","Yes",IF(OR(UPPER(C2)="PLEASE FILL IN",ISBLANK(C2)),"Yes","No"))