Excel多个If语句显示为假

时间:2018-07-25 16:20:13

标签: excel if-statement

我有以下IF语句:

=IF(AG3<=7,"1",IF(15<=AG3<=21,"2",IF(22<=AG3<=28,"3",IF(29<=AG3<=35,"4",IF(36<=AG3<=42,"5",IF(43<=AG3<=49,"6",IF(50<=AG3<=56,"7")))))))

但是它给我1或“假”

所有值均在范围内,并应显示各种数字

2 个答案:

答案 0 :(得分:3)

Excel不使用50<=AG3<=56。 Excel读取此内容的方式是它将解析AG3<=56并将解析为分别具有TRUEFALSE值的10。而且由于50大于这两个值,它将始终返回FALSE,并且由于您未指定最终的错误参数,Excel返回FALSE

它必须为AND(50<=AG3, AG3<=56)

"1"返回一个数字作为文本,而不是一个真数字,请删除引号。

所以:

=IF(AG3<=7,1,IF(AND(15<=AG3,AG3<=21),2,IF(AND(22<=AG3,AG3<=28),3,IF(AND(29<=AG3,AG3<=35),4,IF(AND(36<=AG3,AG3<=42),5,IF(AND(43<=AG3,AG3<=49),6,IF(AND(50<=AG3,AG3<=56),7,"Value not in specs")))))))

但是根据您的标准,您可以使用:

=IF(OR(AND(AG3>=8,AG3<=14),AG3>56),"Not to Spec",MATCH(AG3,{-1E+99,15,22,29,36,43,40}))

答案 1 :(得分:2)

如果可以避免,请不要使用嵌套IF。相反,请使用带状的VLOOKUP:它的效率要高很多倍,并且故障排除要简单得多。像这样的答案:

Excel IF statement Not returning the appropriate Value

在您的情况下,这是您的查找列表:

enter image description here

请注意,由于您尚未指定在8到14或超过57之间应该发生什么,所以我只在这些区域中放入= NA()。

这是一系列数字的结果:

enter image description here

...这是第二个表的第二列中使用的公式(使用表符号): =VLOOKUP([@Value],Table3,2,TRUE)