打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
这么复杂的条件判断,你竟还在用IF函数?

本文作者大表弟 - Excel 研究院

本文由「秋叶 Excel」原创发布

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

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

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

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

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

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

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

如果判断条件增多,逻辑关系更加复杂时,可以借助多个 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 函数,才将五种可能情况的判断全部包含在内,这个公式显然就比较复杂,无论是写出来还是检查,都很麻烦。因此我们通常认为 IF 函数只适合用来进行一些简单的条件判断。

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

- 1 -

解决思路

❶ 条件列表

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

观察分析

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

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

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

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

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

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

这种方式就是 VLOOKUP 函数的区间查询方式。

建立辅助匹配表

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

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

- 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 下去吗?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用Excel计算财务账期,这3个函数至关重要,你会了吗?
VLOOKUP多层条件区间查询
试试这几个实用的Excel小技巧吧
excel函数应用:如何写出IF函数多级嵌套公式
人员等级判断你就只会IF函数?Excel全部四种方法你知道几个?
vlookup居然还能实现条件判断?学会它,基本上没if函数什么事了
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服