问题是excel if还是声明?

时间:2014-03-25 15:19:13

标签: excel if-statement excel-formula conditional-statements

以下内容:

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

输入数字时,我只能获得12的输出。如果输入的数字范围为801-1000,则不会输出3。任何人都明白为什么?

3 个答案:

答案 0 :(得分:2)

改为使用这个:

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

如果A2100公式,则返回FALSE。也许您需要将A2<100更改为A2<=100

答案 1 :(得分:1)

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

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

假设在允许的范围内没有断点(重新解决A2<=100的问题以及是否允许小数(例如800.5当前会返回FALSE您的公式,但会返回{{ 1}}与上面的一个。)

或者使用已定义的表进行查找,然后使用3VLOOKUP / INDEX获取单元格A2中插入值的相应值(如果您使用此功能,这将非常有用有很多不同的范围可能有不同的结果。)

另请注意,在上文中,您将因为引号而获取文本值。如果您需要数值,请将其删除。

答案 2 :(得分:0)

LOOKUP是另一种选择,例如假设A2是正数

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