在工作表格中,经常会遇到区间分级的情况,比如按业绩算提成,按分数评等级,按工龄算档位等待。
今天与大家一起温习用XLOOKUP进行区间查找,一步搞定分级匹配。
之所以说温习,是因为这里要着重用到XLOOKUP的第5参数,前面我们已经学过这一参数性质和用法。EXCEL学习之路:XLOOKUP函数公式详解(下)
第5个参数是匹配类型,共有4种,而区间查找就用-1,找小于等于查找值的最大值。
0:精确匹配(默认)。
-1:精确匹配,未找到返回下一个较小项。
1:精确匹配,未找到返回下一个较大项。
2:通配符匹配 。
如下图所示,左侧是学生姓名和分数,我们需要根据右侧的分数区间来判断各学生对应的等级。

公式=XLOOKUP(查找值,查找数组,返回数组,[未找到时提示], [匹配模式], [搜索模式])
第1参数:查找值。
做区间查找,首先必须要做一个辅助列,取区间的最小值,并且把每个等级的最低值从小到大排好,必须严格按照从小到大升序排序,不能乱序,不然区间查找会出错。这里的E2至E5,就是我们手动新增的辅助列。
找谁?第1参数就是我们手上要判断的原始数据,因为我们要拿学生的分数去跟后面的最小值做比对,去判断等级,所以查找值是分数,这里输入B2
第2参数:查找数组
这个参数就是辅助列即最小值列,即我们要拿学生的分数,去最小值里面找,找小于且最接近这个分数的那个最小值。
加$做绝对引用,下拉公式时,这一列不会跟着乱跑,这里输入$E$2:$E$5
第3参数:返回数组
这个参数是结果列,和第2参数的最小值是对应的。比如最小值0对应不及格,60对应及格,75对应良好,90对应优秀。
学生的分数和最小值一一对应之后,匹配到哪个区间,就返回对应的等级。
同样加$做绝对引用,这里输入$G$2:$G$5
第4参数:[未找到时提示]
这里不需要,直接忽略,写英文逗号。
因为区间查找中,最小值是从0开始的,所以几乎不会出现找不到的情况。
当然,如果你想更严谨,也可以填写这个参数,填你想填的内容再加英文双引号即可。
第5参数:匹配模式
固定填-1,这个可以说是区间专用的参数。
这个公式就是拿着实际的学生分数,在第2参数的最小值里,找一个小于且最接近的最小值,然后返回对应等级。
举个例子,分数是70,找比70小的最小值(如图所示,最小值列E2至E5是0、60、75、90),那么比70小的最小值是0和60,再找其中最接近的那个最小值,那就是60了,然后返回60对应的等级:及格,所以分数70的等级就是及格。
所以,只要做区间查找,第5参数必须填-1,才能帮我们找到正确的区间。
在C2单元格输入公式:
=XLOOKUP(B2,$E$2:$E$5,$G$2:$G$5,,-1)

夜雨聆风