成绩定等级,别再一层层嵌套IF了!VLOOKUP与LOOKUP模糊查找了解一下



Lv.3 优质创作者
成绩定等级,别再一层层嵌套IF了!VLOOKUP与LOOKUP模糊查找了解一下
大家好,我是墨云轩。
前几天有位老师问我一个问题:给学生算成绩等级,59分以下不及格,60分及格,70分中等,80分良好,90分以上优秀。用IF函数一层一层地嵌套,写了五层,看着就头晕。有没有简单点的办法?
说实话,这个问题我以前也用过笨办法。今天就跟大家分享一下,用VLOOKUP和LOOKUP的模糊查找来定等级,公式一行就搞定。
一、先搭好「条件区域」,这是关键
模糊查找的前提,是先构建一个对照表。我在表格右边建了一个区域,两列内容:
分数下限 | 等级 |
1 | 不及格 |
60 | 及格 |
70 | 中等 |
80 | 良好 |
90 | 优秀 |
这里有个特别要注意的地方:左边这列分数必须按升序排列,越往下越大。这一点是VLOOKUP模糊查找能否出正确结果的前提,顺序乱了,结果就会出错。
建好之后,1到59之间对应不及格,60到69对应及格,70到79对应中等,80到89对应良好,90分以上自然就是优秀了。
二、方法一:VLOOKUP第四参数写1
在等级单元格输入公式:
=VLOOKUP(A2,$F$3:$G$7,2,1)
拆开来看四个参数:
• 第一参数 A2:要查找的内容,也就是成绩;
• 第二参数 $F$3:$G$7:条件区域。选中区域后按F4键,加上$锁定为绝对引用,这样下拉填充时区域不会跑偏;
• 第三参数 2:返回条件区域第2列的等级;
• 第四参数 1:模糊匹配,这就是本文的主角。
回车后下拉填充,59返回不及格,90返回优秀,35返回不及格。
我还顺手做了个测试:把成绩改成98,返回优秀;改成59,返回不及格。都没问题。
它的查找逻辑是:在条件区域里找一个「小于等于查找值的最大值」。比如59分,比60小、比1大,就落在1到59这个区间,返回不及格。
三、方法二:LOOKUP,连第四参数都省了
既然VLOOKUP可以,那LOOKUP行不行?还真行,而且更省事。因为LOOKUP默认返回的就是模糊查找的结果,根本不需要额外设置。
在等级单元格输入:
=LOOKUP(A2,F:F,G:G)
• 第一参数 A2:查找的成绩;
• 第二参数 F:F:查找区域,直接选F整列就行;
• 第三参数 G:G:返回区域,和查找区域上下对应。
回车,结果直接就出来了,同样是不及格。
两种公式放一起对比一下:
对比项 | VLOOKUP | LOOKUP |
公式 | =VLOOKUP(A2,$F$3:$G$7,2,1) | =LOOKUP(A2,F:F,G:G) |
参数个数 | 4个 | 3个 |
模糊匹配设置 | 第四参数写1 | 默认就是模糊查找 |
查找区域 | 需要选中区域并锁定 | 可以直接选整列 |
升序要求 | 查找列必须升序 | 查找列必须升序 |
要注意的是,两个方法对条件区域的要求是一样的:查找那列必须升序排列,这个前提省不掉。
四、小结
• 模糊查找最常用的场景,就是区间判断,比如成绩定等级、业绩定提成档位;
• 用VLOOKUP,把第四参数写成1;用LOOKUP,什么都不用设;
• 前提都是先建好条件区域,并且查找列按升序排列。
比起嵌套五层的IF,这两条公式确实清爽多了。
这些公式我都在WPS表格里实际验证过,截图就是当时的操作画面,大家可以放心照着试。
我是墨云轩,边学习,边分享,每天进步一点点。
你有更好的区间判断方法吗?欢迎留言交流,先谢过各位大佬。
Lv.3 优质创作者
Lv.3 优质创作者
Lv.3 优质创作者