对于Excel中的IF,要有一个明确的思路,不少用了Excel多年的人,对IF也往往处理得不是很好。IF函数的基本方式为:
=IF(条件,条件成立时取值,条件不成立时取值)
以你这个问题为例,首先判断G列的数字与5比较的结果,如果小于5,则条件为“真”,取值“0”;否则条件为假,为假意味着什么?那就是必定大于或等于5了,现在再进行下一步判断时,还需要与5来比较吗?当然不需要了!所以只要看是否小于10,如果成立,条件为真,那就是大于或等于5且小于10了;不成立怎么样?那就是肯定大于或等于10了,最后还需要用IF吗?当然不需要了!明白了这个基本的原理,公式就很容易了:
=IF(G1<5,0,IF(G1<10,1,2))
是不是很简单?
而对于本问题,也可以不用IF,如果不会出现负数(有可能出现负数时,把公式中的0改为不可能出现的最小负数),公式:
=LOOKUP(C1,{0,5,10},{0,1,2})
后面的公式对于判断条件更多时,就更体现出它的优越性了。
=IF(G5<5,0,IF(G5>5*G6<10,1,IF(G5>10,2,0)))
改为
=IF(G5<5,0,IF(G5<10,1,2))