第一:公式书写格式错误。可以改成这样:
书写格式的错误可以更正为:
IF(and(N3>=10,N3<=19),"警示",IF(AND(20<=N3,N3<=29),"警示1",IF(AND(30<=N3,N3<=44),"警示3",IF(AND(45<=N3,N3<=59),"警示4",IF(N3>=60,"警示5","无")))))
第二:逻辑判断不够清晰还有错误。优化后的公式为:
=IF(N3>=60,"警示5",IF(N3>=45,"警示4",IF(N3>=30,"警示3",IF(N3>=20,"警示",IF(N3>=10,"警示","无")))))
如有需要可以继续交流!
缺少0-10之间的判断标语,别用if函数,显得特别复杂。=LOOKUP(n3,{0,9,19,29,44,59},{"无","警示1","警示2","警示3","警示4","警示5"})按住CTRL+回车键即可
10<=N3<=19
这是数学里的写法,在excel里要写成
AND(N3>=10,N3<=19)
后面几个一样。
在excel里写10<=N3<=19,执行的结果是先判断10<=N3是否成立,结果是TRUE和FASLE两个逻辑值,然后再判断逻辑值是否<=19。
在excel中逻辑值大于数值,所以不管N3等于多少,在excel中10<=N3<=19的最终结果都是FALSE。
不要写这种判断:10<=N3=<19
电脑跟人的思维不一样,电脑先判断N3与10的大小,结果为0、1,结果再与19比较,自然都是满足的
公式修改为:
=VLOOKUP(N3, {-99999,"无";10,"警示";20,"警示1";30,"警示3";44,"警示4";60,"警示5";}, 2)
=if(n3<10,"无",lookup(n3,{10,20,30,45,60},"警示"&{"",1,3,4,5}))