专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  用好数据透视表,一堆工作等你搞 ·  2 天前  
Excel之家ExcelHome  ·  最基础:公式中的单元格引用方式 ·  昨天  
Excel之家ExcelHome  ·  小白妙用AI和Python搞定办公自动化 ·  2 天前  
Excel之家ExcelHome  ·  Excel中双击的妙用 ·  3 天前  
Excel之家ExcelHome  ·  TEXT函数,一看就会,一用就对 ·  1 周前  
51好读  ›  专栏  ›  Excel之家ExcelHome

多区间判断,这几个公式都挺好

Excel之家ExcelHome  · 公众号  · Excel  · 2024-12-08 06:45

正文

小伙伴们好啊,多区间判断的问题想必大家都遇到过,比如成绩评定、业绩考核等等。今天就和大家分享一个多区间判断的函数公式套路。

先来看问题,要根据业绩分数给出对应的等级,划分规则是:

<60,等级为“F”。

60~69,等级为“E”。

70~79,等级为“D”。

80~89,等级为“C”。

90~99,等级为“B”。

>=100,等级为“A”。

下面咱们就简单汇总一下常用的解决方法和思路。


1、IF函数

=IF(A1>=100,"A",IF(A1>=90,"B",IF(A1>=80,"C",IF(A1>=70,"D",IF(A1>=60,"E","F")))))

通过IF函数嵌套,像剥洋葱一样逐层判断A1数值所在的区间,并返回对应的结果。

大于等于100,返回“A”,大于等于90,返回“B”,大于等于80,返回“C”……

这个公式的优点是易于理解,缺点是如果有多个判断条件,公式会变得越来越长了。

还有一个问题,使用IF函数进行多个区间的判断时,小伙伴们可以记住一个窍门,就是可以从最高的规则部分开始,逐级向下判断。也可以从最低的规则部分开始,逐级向上判断。

刚刚这个公式,就可以写成:

=IF(A1<60,"F",IF(A1<70,"E",IF(A1<80,"D",IF(A1<90,"C",IF(A1<100,"B","A")))))

如果你使用的是Excel 2019及以上版本,还可以使用IFS函数,让公式短一截:

=IFS(A1<60,"F",A1<70,"E",A1<80,"D",A1<90,"C",A1<100,"B",1,"A")


2、LOOKUP

=LOOKUP(A1,{0,60,70,80,90,100},{"F","E","D","C","B","A"})

这种写法是多区间判断并返回对应值的模式化公式,是IF函数逐层判断的升级版,比上面的公式略短一些。

注意,LOOKUP第二参数要升序处理{0,60,70,80,90,100}。

LOOKUP函数以A1为查找值,返回第二参数中查找这个数值,如果找不到,就以小于A1的最大数值进行匹配,并返回第三参数{"F","E","D","C","B","A"}中对应位置的字符串。


三、VLOOKUP

先在Excel中建立一个对照表:

然后使用VLOOKUP函数,在对照表中执行近似匹配的查询:

=VLOOKUP(A1,D2:E7,2)

这里有两点需要注意:

1、是对照表中的首列使用升序排序;

2、是VLOOKUP函数省略第四参数,返回精确匹配值或近似匹配值。如果找不到精确匹配值,则返回小于待查询内容(A1)的最大值。

相对于其他公式,建立对照表的方法看似繁琐,但是在实际应用中更便于修改标准,而不必重新编辑公式。

建立对照表之后,使用下面的公式就更简短了:

=LOOKUP(A1,D:E)

LOOKUP函数在D:E列的首列查找A1单元格的值,并返回与之对应的E列中的内容。当查找不到A1单元格的值时,也会以小于查询值的最大值进行匹配

今天的内容就是这些,祝各位小伙伴们一天好心情!


图文制作:祝洪忠