当前位置: > 热传

IF函数不会多层嵌套?我来教你

时间:2022-04-22 21:00:33 热传 我要投稿

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新推荐