在Excel中的逻辑公式 – 需要帮助
我需要一个excel公式的帮助。 我正在尝试实现以下行为:
- 该公式在单元格A中
- 在单元格B中,我们可以有3个可能的值 – 低,中或高
因此,如果单元格B的值等于低,那么在A单元格中的值为“是”。如果单元格B中的值等于中或高,则公式应检查单元格C是否已填充,其内容是否与“请填写“或者留下”空白“。 如果是,那么单元格A是“是”,如果不是,那么它是“否”。
如果单元格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函数(但要求你分别在每个单元格中input公式,那么将其粘贴在一个模块中,然后在列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")))
请注意,有一种情况是您不在自己的定义(其中给出“未定义”)。 这可能不是有意的。
如果“Undefined”实际上并不打算,还要注意,你只有两个可能的输出,所以这个条件可以用一个不同的testing代替,单个条件结合AND
/ OR
而不是嵌套的IF
。
IF,OR,ISBLANK和UPPER的组合应该可以解决您的问题。
=IF(UPPER(B2)="LOW","Yes",IF(OR(UPPER(C2)="PLEASE FILL IN",ISBLANK(C2)),"Yes","No"))