有没有办法进一步简化下面的Excel公式?
=IF(AND(OR(A=x, B=x), C=y), TRUE, FALSE)
我想弄清楚,如果我可以简化这个声明,所以我不重复在我的OR语句多次相同的价值(X)。
就像“如果A和B等于x,C等于y,则返回TRUE”。
编辑:我应该补充一点,我使用表和标题引用:
=IF(AND(OR([Column1]=x, [Column2]=x), [Column3]=y), TRUE, FALSE)
这应该更容易回复,对不起。 我不需要担心麻烦的细胞范围。
我用“x”表示的“algorithm”只是一些date和单元格比较以及导致非零整数的库存属性。
您可以使用VLOOKUP表进一步简化:
AND(NOT(ISNA(VLOOKUP(x,$A$1:$B$2,2,false))), C=y)
A和B的值及其真值存储在$ A $ 1:$ B $ 2的位置
你不需要IF()
,因为比较已经返回true
/ false
。 所以
=AND(OR(A=x, B=x), C=y)
这是最简单的,因为在逻辑上有3个比较。
更新:如果你想摆脱使用x
两次,使用数组公式,如:
=AND(OR(x=D6:D7), C=y)
使用CTRL+SHIFT+ENTER
。 注意这里a
和b
应该在相邻的单元格D6
和D7
。 (我不知道一种方法来构build一个公式中命名范围的数组。