IF 函数是大家较为熟知,也是日常工作中使用频率较高的函数之一,它通常适合用来进行一些简单的条件判断,并返回相应的结果,其语法如下:

=IF(判断条件, 满足判断条件时返回的值, 不满足判断条件返回的值)

比如:老板限定每月办公耗材费预算是 5000 元,我们需要在 D 列单元判断每月的费用是否超预算,可以在 D2 单元格写出以下公式:

=IF(C2>5000,"超预算","未超预算")

if函数的使用方法及技巧(这么复杂的条件判断)(1)

又比如,我们需要在 D 列单元格判断学生的考试成绩是否及格(及格标准通常为:大于等于 60 分),我们可以在 D11 单元格写出以下公式:

=IF(C11>=60,"及格","不及格")

if函数的使用方法及技巧(这么复杂的条件判断)(2)

以上的两个例子有一个共同点:判断条件比较简单,只有一个判别依据,要么成立,要么就不成立。

如果判断条件增多,逻辑关系更加复杂时,可以借助多个IF函数嵌套使用的方式来组织公式,但此时写出的公式会显得冗长、繁琐且不便于编辑。

还是以学生成绩为例,现在我们要根据成绩划分等级:小于 60 分的为 E,60-70 分(包括 60,下同)为 D,70-80 分为 C,80-90 为 B,90 以上为 A。这种情况下的 IF 公式可能是这样的:

=IF(D2>=90,"A",IF(D2>=80,"B",IF(D2>=70,"C",IF(D2>=60,"D","E"))))

if函数的使用方法及技巧(这么复杂的条件判断)(3)

这个公式嵌套使用了四个 IF 函数,才将五种可能情况的判断全部包含在内,这个公式显然就比较复杂,无论是写出来还是检查,都很麻烦。因此我们通常认为 IF 函数只适合用来进行一些简单的条件判断。

那么像这种复杂的条件判断,更好的解决方案是什么呢?

- 1 -

解决思路

条件列表

我们把所有的条件以及对应的取值,列成一张表,这样可以清晰明了地知道两者间的关系,也更为直观:

if函数的使用方法及技巧(这么复杂的条件判断)(4)

观察分析

将判断条件列成表以后,我们就很容易发现它们之间都有一个共同特征:每一个取值(本例为等级)都对应着一个数字区间,这些数字区间包含了分数的所有可能取值;并且这个数字区间有一个很显著的特点:大于等于较小的数,小于较大的数(最后一个最大的数(本例为 90),只要大于等于就行)。

这种情况下,我们就能用 VLOOKUP 函数来替代 IF 函数。

常见的 VLOOKUP 函数有两种用法,一种是精确查找,比如通过姓名查找相对应的成绩,这种用法叫 VLOOKUP 的精确查找模式,大家注意到它的第四个参数为 0,在这种模式下,如果查找的姓名存在,则返回相应的分数,如果要查找的姓名不存在,则返回错误值 #N/A。

if函数的使用方法及技巧(这么复杂的条件判断)(5)

if函数的使用方法及技巧(这么复杂的条件判断)(6)

另一种是区间查找(近似查找),用于判断数字是否落在某个特定的区间。如图所示,这种类型的第四个参数为 1,表示查找的是近似值。以 E3 单元格中的公式为例:

=VLOOKUP(D3,$G$2:$H$6,2,1)

这个公式表示要在 $G$2:$H$6 中查找分数 64,并取得对应的等级,可是 $G$2:$G$6 中并没有 64,但是函数却依旧能取得其对应的等级为 D。这种方式就是 VLOOKUP 函数的区间查询方式。

if函数的使用方法及技巧(这么复杂的条件判断)(7)

建立辅助匹配表

本案例中,我们需要利用 VLOOKUP 函数的区间查询功能来实现目标。这就需要建立一个辅助匹配表,来对分数进行近似匹配,从而得到相应的等级。

辅助表的制作并不难,以上图为例,只要将「分数区间」列中的临界数字,填到「分数临界点」单元格里,再把对应的等级复制过去即可。

if函数的使用方法及技巧(这么复杂的条件判断)(8)

- 2 -

解决方案

到此,利用 VLOOKUP 函数解决多条件判断问题的基础工作已经完成。现在就可用 VLOOKUP 函数来查找分数对应的等级了,函数公式如下:

=VLOOKUP(D2,$G$2:$H$6,2,1)

公式中有四个参数,分别的含义如下:

第 1 参数:D2 表示所要查找的分数所在的单元格

第 2 参数:$G$2:$H$6 就是我们刚才建立的辅助匹配表(注意:一定要绝对引用!)

第 3 参数:「2」表示我们要取得的对应的等级,在我们辅助匹配区域的第二列

第 4 参数:「1」这里必须是 1(当 VLOOKUP 的第四个参数为 1 时,表示近似查询模式)

大家都学会吗?以后遇到物流根据重量来计算运费、根据消费额度多少来算折扣、根据充值额度多少来定会员等级等等此类多条件判断问题,你还要 IF、 IF、IF 下去吗?

if函数的使用方法及技巧(这么复杂的条件判断)(9)

当然,以上说的只是一种较常见的情况,大家如果工作中遇到其他的IF令人头大的问题,也可以在评论区交流哟!

,