=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”表示的“算法”只是一些日期和单元格比较以及产生非零整数的库存属性。
答案 0 :(得分:4)
您不需要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
中。 (我不知道在公式中用命名范围构造数组的方法。)
答案 1 :(得分:1)
您可以使用VLOOKUP表进一步简化:
AND(NOT(ISNA(VLOOKUP(x,$A$1:$B$2,2,false))), C=y)
A和B的值及其真值存储在位置中 $ A $ 1:$ B $ 2