区间判断常用于公司员工的绩效评定,学生的成绩分级,业务员销售提成等场景。
分享几个区间判断的常用套路,以下表等级判定规则为例:
等级判定规则 | |
区间 |
等级 |
0~60 |
E |
60~70 |
D |
70~80 |
C |
80~90 |
B |
90~100 |
A |
一,IF函数嵌套
=IF(E2<=60,"E",IF(E2<=70,"D",IF(E2<=80,"C",IF(E2<=90,"B",IF(E2<=100,"A","出错了")))))
通过IF函数嵌套,逐层判断数值所在的区间,并返回对应的结果。
缺点是随着判断条件的增多,公式越来越长。优点是逻辑清晰:小于等于60时返回E,小于等于70时返回D,小于等于80时返回C……
初学者容易产生疑惑:比如45,同时满足小于60,小于70,小于80……, 为什么只返回60对应的D呢?因为系统检测到E2<=60这个条件成立后,就不再执行后续的判断了。
IF函数嵌套
二,LOOKUP系列函数
LOOKUP, VLOOKUP, XLOOKUP三个函数都可以实现区间判断,且运行逻辑大同小异,其中XLOOKUP只存在于M365后的版本。此处以VLOOKUP为例:
=VLOOKUP(E2,H:I,2,1)
VLOOKUP模糊查找
需要注意的是:
- 用区间下限建立对照表
- 对照表中的首列使用升序排序
- VLOOKUP函数省略第四参数输入”1”表示模糊匹配
相对于其他公式,建立对照表的方法看似繁琐,但是在实际应用中更便于修改标准,增强公式可读性。
三,MATCH函数
=MID("EDCBA",MATCH(E2,{0;60;70;80;90},1),1)
MATCH函数的作用是查询指定内容在一行或一列中的位置,该公式中查询E2单元格内容在数组{0;60;70;80;90}中的位置,注意此处为模糊匹配,返回小于查询数据的最大值,即小于"88"的最大值"80"在数组中的位置4,将其作为MID参数来决定从字符串“EDCBA”的第4个字符开始提取,即"B"。
MATCH MID组合运用
如等级不是规则数据,MID无法准确提取,可以用MATCH OFFSET组合。
=OFFSET($I$2,MATCH(E2,{0;60;70;80;90},1),,,)
MATCH OFFSET组合运用
另外,MATCH CHOOSE组合也可以实现哦,有兴趣的朋友赶紧试试吧。
,