为什么这个嵌套的IF语句没有返回我想要的值?

我正在Excel中尝试这个公式。 这个嵌套的IF语句没有返回我想要的值。 声明中的单元格可以介于1.000和0.000之间。 如果单元格中的值等于1,则它总是返回一个值“1”,如果它小于1,它总是返回一个值“3”,即使该值为0。 IF声明?

=IF(F5=1,"4", IF(1>F5>=0.9,"3", IF(0.9>F5>=0.75,"2", IF(0.75>F5>=0.55,"1", IF(F5<0.5,"0"))))) 

要在excel中执行范围,可以使用AND(logical1, [logical2], ...)

 IF(AND(XXX>=YYY,XXX<=ZZZ)... 

所以你的支票看起来像

 IF(AND(F5>=0.9,f5<1)... 

我会猜测..你不能在if条件中有1> f5> = 0.9的东西,因为它可能是从左到右,(1> f5 == true),(true> = 0.9 ==真的),所以你总是得到3。

Excel代码True1False0 。 所以1>F5>=0.9被parsing为(1>F5)>=0.9 。 这成为True >= 0.9 ,这与1 >= 0.9是一样的。

正如epascarello指出的,你可以用AND(F5>=0.9,f5<1)来正确地创build一个间隔AND(F5>=0.9,f5<1)

这是更正的公式。

 =IF(F5=1,"4",IF(AND(1>F5,F5>=0.9),"3",IF(AND(0.9>F5,F5>=0.75),"2",IF(AND(0.75>F5,F5>=0.55),"1",IF(F5<0.5,"0","ENTER_A_VALUE_HERE"))))) 

当在IF语句中执行2个逻辑运算时,使用AND(expression1,expression2,… expression N)格式。

你应该可以看看上面修正的function,看看不同之处。

参考: http : //www.techonthenet.com/excel/formulas/if.php