【问题标题】:Nested IF / AND / OR statement嵌套的 IF / AND / OR 语句
【发布时间】:2016-02-02 20:09:03
【问题描述】:

我有一个公式,我似乎可以完成大部分任务,但无法完成最后一跳。这是场景。如果数组 (B2:B4) 中的任何单元格不是空白,则单元格 B9 应填充文本值,或者如果不同数组 (D6:D9) 中的任何单元格具有文本值,则单元格 B9 应再次填充不同的值文本值。最后,如果两个数组都满足特定条件,则单元格 B9 应填充第三个文本值。

这就是我所拥有的。此公式返回值“Correct” id B2:B4 不为空,或者如果D7:D9 包含文本“Plus”,则返回值“Plus”。否则,它将单元格 B9 留空。

=IF(OR(B2<>"",B3<>"",B4<>""),"Correct",IF(OR(D7="Plus",D8="Plus",D6="Plus"),"Plus","Blank"))

如果满足上述两个条件,则此 AND 公式将返回“Correct+Plus”。

=IF(AND(OR(B2<>"",B3<>"",B4<>""),(OR(D7="Plus",D8="Plus",D6="Plus”))),”Correct+Plus”,”Correct or Plus or Nothing")

我似乎无法得到将两者结合的公式。如果数组 1 不为空,则返回“正确”。如果数组 2 是“Plus”,则返回“Plus”。如果数组 1 不为空且数组 2 为“Plus”,则返回“Correct+Plus”。

【问题讨论】:

    标签: arrays excel if-statement


    【解决方案1】:

    您的叙述与您的公式不同,您声明数组 1 不需要有任何空白,但您使用 OR 声明如果有任何不为空,它将返回 true,并且只有当三个都是空白时才返回 false .如果是这种情况,请使用:

    =IF(AND(COUNTBLANK(B2:B4)<3,COUNTIF(D6:D8,"Plus")),"Correct+Plus","Correct or Plus or Nothing")
    

    但是如果你想确保第一个数组不是空白的,那么使用这个:

    =IF(AND(COUNTBLANK(B2:B4)=0,COUNTIF(D6:D8,"Plus")),"Correct+Plus","Correct or Plus or Nothing")
    

    【讨论】:

    • 谢谢斯科特。那个没有返回我的 OR 值。
    • 我确实找到了合适的,可能功能太多,但它确实有效。 =IF(AND(OR(B2"",B3"",B4""),(OR(D7="Plus",D8="Plus",D6="Plus"))), "DAM+Plus",IF(OR(B2"",B3"",B4""),"DAM",IF(OR(D7="Plus",D8="Plus",D6 ="加号"),"加号","空白")))
    【解决方案2】:

    这是我发现的有效方法。

    =IF(AND(OR(B2"",B3"",B4""),(OR(D7="Plus",D8="Plus",D6="Plus") )),"正确+加",IF(OR(B2"",B3"",B4""),"正确",IF(OR(D7="Plus",D8="Plus ",D6="Plus"),"Plus","Blank")))

    【讨论】:

      【解决方案3】:

      适用于您的替代公式:

      =CHOOSE((COUNTBLANK(B2:B4)<3)+(COUNTIF(D6:D8,"plus")>0)*2+1,"Blank","Correct","Plus","Correct+Plus")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-26
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 2012-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多