有没有办法进一步简化下面的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 。 注意这里ab应该在相邻的单元格D6D7 。 (我不知道一种方法来构build一个公式中命名范围的数组。