我在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")))))
答案 0 :(得分:1)
要在excel中的范围之间进行,可以使用AND(logical1, [logical2], ...)
IF(AND(XXX>=YYY,XXX<=ZZZ)...
所以你的支票看起来像是
IF(AND(F5>=0.9,f5<1)...
答案 1 :(得分:0)
我要猜测..你在if条件中不能有1> f5&gt; = 0.9这样的东西,因为它可能从左到右评估,(1> f5 == true),(true&gt; = 0.9 == true)因此你总是得到3。
答案 2 :(得分:0)
Excel将True
编号为1
,将False
编号为0
。因此1>F5>=0.9
被解析为(1>F5)>=0.9
。这变为True >= 0.9
,与1 >= 0.9
True
相同。
正如epascarello指出的那样,您可以使用AND(F5>=0.9,f5<1)
正确创建间隔检查。
答案 3 :(得分:0)
以下是更正的公式。
=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)格式。
您应该能够查看上面的更正功能并查看差异。