if函数的嵌套用法
今天来说下if函数的嵌套用法,主要是用在1个if函数判断不完的情况下。
1.根据分数段判断对应的级别
如下图所示,根据右表的标准对左表的分数判断级别。B列的分数用的是随机数,并且对级别为"差"的用条件格式标记出来。由于有3个条件判断,用1个if函数是完不成的,所以要用到if的嵌套用法。在C2单元格中输入公式=IF(B2>=90,"优",IF(B2>=60,"良","差")),向下填充。
可以看到if函数的第3参数又是个if函数,这就是嵌套的用法。该怎么理解呢?先看第1参数和第2参数,分数大于等于90,就返回"优";如果分数不大于等于90,返回"良"还是"差"呢?这时就不能随便写一个,还要再次进行判断。如果分数大于等于60,就返回"良",否则就返回"差"。
这里注意,分数大于等于60这个条件判断,是在分数不大于等于90的基础上进行的。也就是说分数小于90且大于等于60的返回"良";分数小于90且小于60的返回"差"。如下图3种情况。
还可以从大于等于60开始判断,在D2单元格中输入公式=IF(B2>=60,IF(B2>=90,"优","良"),"差")。分数大于等于60,返回"良"还是"优"呢?不确定,要进一步判断。分数大于等于60且大于等于90返回"优";分数大于等于60且小于90返回"良";分数不大于等于60返回"差"。
还可以用小于号判断,在E2单元格中输入公式=IF(B2<60,"差",IF(B2<90,"良","优")),在F2单元格中输入公式=IF(B2<90,IF(B2<60,"差","良"),"优"),结果都是一样的。只要你的逻辑是正确的,从哪个条件开始判断都是可以的。
2.单价大于等于3且数量大于等于50,则显示ok,否则显示空
如下图所示,是个产品单价数量表。B列和C列都用的是随机数,按F9会变化,并且对其设置了条件格式,将满足条件的用底色标记出来。在D25单元格中输入公式=IF(B25>=3,IF(C25>=50,"ok",""),""),向下填充。
如果单价大于等于3,能确定是ok吗?不能确定,因为还有数量要判断。所以在单价大于等于3成立的基础上,对数量进行判断,又用了个if函数,看数量是否大于等于50。如果成立,则显示ok,否则显示空。
简单来说,就是单价大于等于3且数量大于等于50,显示ok;单价大于等于3且数量不大于等于50,显示空。这样就把单价大于等于3成立的情况判断完了,也就是把第2参数判断完成。
如果单价不大于等于3,直接返回第3参数空。
好了,总结一下if函数的嵌套,内层if函数的条件判断不是单独判断的,而是在外层判断之后再来判断的,是有继承关系的。比如,你要通过连续的几扇门,只有先通过第1扇门,才能通过第2扇门。如果你连第1扇门的通过条件都不满足,那么对不起,不会再看你是否满足第2扇门的通过条件,直接排除。反过来说,如果你已经通过了第2扇门,那么你肯定也通过了第1扇门。简单来说就是要满足多个条件。