if函数是一个使用频率非常高的函数,但是很多人都在多层嵌套面前败下阵来,前几天有同事向我求救,让我帮忙看看函数错在哪了,她做得公式是这样子的:=IF(D3<40000000,0,IF(40000000<=D3<80000000,50000,IF(80000000<=D3<130000000,100000,IF(130000000<=D3<200000000,150000,200000))))

我们可以看到这个同事在嵌套函数里用了40000000<=D3<80000000,80000000<=D3<130000000,130000000<=D3<200000000,首先这个地方就出问题了,问题就在于我们excel里的有比较运算符(小于<,大于>,等于=,不等于<>,小于等于<=,大于等于>=)只能是单个使用,如果非要用就要借助AND,OR了,比如80000000<=D3<130000000要表示为AND(D3>=80000000,D3<130000000)。

当然在这个公式里是不需要AND的,我们看看这个同事的公式的计算结果:

怎么使用if函数的嵌套设置等级(IF函数不会多层嵌套)(1)

我们发现我红色框中的结果是一样的,而D4,D5,D6的数值按照条件计算应该分别为50000,150000,200000,这是为什么呢,这是因为IF函数是一个逻辑判断函数,

语法:=IF(条件判断, 结果为真返回值, 结果为假返回值),就是说如果条件判断是TURE,结果就是第二个参数,如果是FALSE,结果就是第三个参数。还是回到刚才的例子,40000000<=D3<80000000这个是excel不认可的,结果就会被判定为false,我们可以在单元格E9和E10分别输入“=40000000<=D3<80000000”,“=D3<80000000”,我们会看到如下结果,前面一个是false,后面一个是true。

怎么使用if函数的嵌套设置等级(IF函数不会多层嵌套)(2)

我把公式给她改成正确的:

=IF(D3<40000000,0,IF(D3<80000000,50000,IF(D3<130000000,100000,IF(D3<200000000,150000,200000)))),可以看到我们的结果就是正确的了。

怎么使用if函数的嵌套设置等级(IF函数不会多层嵌套)(3)

这时候她有疑问,这个不是区间的比较能取到数么,到这里我明白了,她还是没真正理解if函数,我觉得我画个图说一下让大家直观感受一下。

简化一下数字,要不太长了,看得费劲,我简单给大家演示一下用法:

怎么使用if函数的嵌套设置等级(IF函数不会多层嵌套)(4)

希望上面啰里啰唆说的一大堆,大家能看明白.

接下来我说下使用if函数的注意点:

1.读这个函数一定要从最外层的函数读起,一层一层往里层读,要不就乱了,因为这是一个逻辑函数。

2.嵌套最好在第三个参数位置进行嵌套,这样不容易出错。

3.就是记得括号,一定要对称,嵌套的越多越要小心。

如果大家喜欢我的文章,欢迎关注跟我学EXCEL图表

,