为什么EXCEL里的IF函数编完后是FALSE

IF(B15>2,"8",IF(1<B15<2,"6",IF(0.8<B15<1,"4",IF(0.5<B15<0.8,"2",IF(0<B15<0.5,"1",IF(B15<0,"0"))))))明明B15里显示的是1.14,怎么是FALSE啊?

excel的大小比较一次不能超过两个数值,即1<B15<2是不能被excel识别的比较。
如果真需要多级比较的话需要用到and函数(表示同时满足多个条件):
1<b15<2 = and(b15>1,b15<2)

另外,您上面的公式其实不需要这么复杂,因为每一级的逻辑关系已经把B15<的情况排除了,
IF(B15>2,"8",IF(1<B15,"6",IF(0.8<B15,"4",IF(0.5<B15,"2",IF(0<B15,"1",IF(B15<0,"0"))))))
还有,不知道您是否有意的,这条公式并没有考虑当B15=2,1,0.5,0.8还有0的情况。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
IF(B15>2,"8",IF(1<B15,"6",IF(0.8<B15,"4",IF(0.5<B15,"2",IF(0<B15,"1","0")))))

这样就可以了
你的那个逻辑不对
if中不能
1<B15<2

这样写本回答被提问者采纳
第2个回答  2010-03-31
你的条件有问题,不能表示为1<B15<2,此逻辑应该为AND(B15>1,B15<2),其它的同理
第3个回答  2020-06-13
IF(B15>2,"8",IF(1<B15,"6",IF(0.8<B15,"4",IF(0.5<B15,"2",IF(0<B15,"1","0")))))
这样就可以了
你的那个逻辑不对
if中不能
1<B15<2
这样写
相似回答