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.
就是记得括号,一定要对称,嵌套的越多越要小心。
|
有话要说...