已收录

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

墨云轩
墨云轩 WPS资深用户Lv.3 优质创作者KVPWPS寻令官

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,这两条公式确实清爽多了。

题外话说两句。我以前教IF嵌套,学生光括号就配错好几回。后来把模糊查找这一招教给他们,出错率明显低了。工具没有高低,顺手的就是好工具。

这些公式我都在WPS表格里实际验证过,截图就是当时的操作画面,大家可以放心照着试。

我是墨云轩,边学习,边分享,每天进步一点点。

你有更好的区间判断方法吗?欢迎留言交流,先谢过各位大佬。

河北省
浏览 371
收藏
6
分享
6 +1
7
+1
全部评论 7
 
临商珑胜
临商珑胜 WPS产品体验官Lv.3 优质创作者

Lv.3 优质创作者

感谢精彩分享!灵犀太强了,刚刚用它写简单的M函数代码,居然也能行!
   山东省
举报
0
0
 
●__蕝蝂籹孓
谢谢
   四川省
举报
0
1
墨云轩
墨云轩WPS资深用户Lv.3 优质创作者KVPWPS寻令官

Lv.3 优质创作者

· 河北省
举报
0
0
 
拾光漫行
=OFFSET($E$2,COUNTIF($D$3:$D$7,"<="&A2),) 跟着墨老师学习函数
   重庆
举报
0
3
墨云轩
墨云轩WPS资深用户Lv.3 优质创作者KVPWPS寻令官

Lv.3 优质创作者

厉害啊!表格专家非你莫属
· 河北省
举报
0
0