帮助需要 - 在Excel中逻辑公式(Logical formula in Excel - Help

2019-09-28 07:43发布

我需要一个Excel公式帮助。 我想实现以下行为:

  • 式是在小区A中
  • 在小区B中,我们可以有3个可能的值 - 低,中或高

因此,如果小区B的值等于低然后在单元格中的值是“是”,如果在小区B中的值等于为中或高则公式应该检查是否小区C被填充并且其内容是不同的,那么“请填写”或者保持‘空白’。 如果真,那么电池的“是”,如果没有,那么它是“否”。

如果小区B的值为空,则小区A是“否”,以及。

Answer 1:

我不是伟大的公式,但这会做

=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



Answer 2:

下面的公式以文本方式复制你问的逻辑

=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秒。



Answer 3:

IF,OR,ISBLANK和鞋帮的组合应该解决您的问题。

=IF(UPPER(B2)="LOW","Yes",IF(OR(UPPER(C2)="PLEASE FILL IN",ISBLANK(C2)),"Yes","No"))



文章来源: Logical formula in Excel - Help needed