AND / OR语句的多个值

时间:2015-03-25 14:07:26

标签: excel excel-formula excel-2010

是否可以合并AND(或OR)语句标准以避免重复单元名称?

例如,我想查看单元格C2是否包含2,3,5,7或10中的任何一个。我想避免编写

IF(AND(C2=2,C2=3... etc. 

并将其简化为数字数组,如

IF(AND(C2=[2,3,5,7,10]... 

不幸的是,我要补充的不只是5个数字,所以它变得非常费力。任何人都比一遍又一遍地重复单元格名称= __更简单吗?

2 个答案:

答案 0 :(得分:4)

您可以像这样使用“数组常量”

=IF(OR(C2={2,3,5,7,10}),"Yes","No")

.....或者对于大量数字,您可以将所有数字放在一个单元格范围内,例如Z2:Z100并执行相同的操作

=IF(OR(C2=$Z$2:$Z$100),"Yes","No")

虽然使用范围而不是数组常量时,公式变为“数组公式”,因此需要使用 CTRL + SHIFT + 确认

或许最好使用COUNTIF并避免“数组输入”......

=IF(COUNTIF($Z$2:$Z$100,C2)>0,"Yes","No")

答案 1 :(得分:3)

=IF(ISERROR(MATCH(C2,{2,3,5,7,11},0)),"no","yes")

无需将其作为数组公式输入。工作原理:MATCH如果在查找数组中找不到查找值,则返回#N/A!错误。 ISERROR抓住了这一点。

但是,barry houdini suggests,您可能希望将您的数字放在某个范围内,例如Z1:Z5而不是将它们硬编码到您的公式中。所以你会改为使用这个公式:

=IF(ISERROR(MATCH(C2,Z1:Z5,0)),"no","yes")