问题与Excel IF或陈述?

从以下方面来看:

=IF(A2<100, "1", IF(OR(A2>=101, A2<=800), "2", IF(OR(A2>=801, A2<=1000), "3"))) 

当input一个数字时,我只能得到12的输出。 如果我input的数字在801-1000之间,则不会输出3 。 有人明白为什么?

改用这个:

 =IF(A2<100, "1", IF(AND(A2>=101, A2<=800), "2", IF(AND(A2>=801, A2<=1000), "3"))) 

如果A2100公式返回FALSE 。 也许你需要改变A2<100A2<=100

如果你使用这样的东西,你实际上可以使公式更短:

 =IF(A2<100, "1", IF(A2<=800, "2", IF(A2<=1000, "3"))) 

这是假设在允许范围内没有断点(重新A2<=100的问题,如果小数是允许的(例如800.5将返回与您的公式, FALSE ,但将返回3与上述一个)。

或者使用定义的表格进行查找,然后使用VLOOKUPINDEX / MATCH获取单元格A2中插入值的相应值(如果您有很多不同的范围,那么将会有不同的结果) 。

另外请注意,在上面,你会得到由于引号的文本值。 如果您需要数字值,请将其删除。

LOOKUP是另一种select,例如,假设A2是一个正数

=LOOKUP(A2,{0,101,801,1001},{1,2,3,"Out of range"})