大家在日常工作中,做业绩排名、销量统计、考核评分、数据复盘时,会不会面临以下困境:
💥原始数据变动,排名不会自动更新
💥每次更新数据,都要手动排序、筛选、复制前几名
💥多份榜单、月度排行榜,工作量直接倍增
今天格子间为大家介绍:如何进行动态排名?数据一变动,排名自动刷新!
PS:适用新老版本的方法都会介绍哦~
方法1:TAKE + SORT函数
(1)适用版本:Excel 365/2021及以上
(2)应用场景:
①无法处理并列排名问题,固定行数,并列排名会被截断,如图所示并列第5名的两人只取了一个人;
②所有数据均会展示,如图A-E列的数据均会呈现。
(3)核心公式:
=TAKE(SORT(A2:E16,5,-1),5)

(4)只取需要的列数据
=TAKE(SORT(CHOOSECOLS(A2:E16,1,5),2,-1),5)

(5)多条件排名
若遇到并列排名,继续按照其他条件进行排序判断。
①数据全取:
=TAKE(SORTBY(A2:E16,E2:E16,-1,B2:B16,-1,C2:C16,-1),5)
②只取需要的列:
=TAKE(CHOOSECOLS(SORTBY(A2:E16,E2:E16,-1,B2:B16,-1,C2:C16,-1),1,5),5)

方法2:FILTER + LARGE函数
(1)适用版本:Excel 365/2021及以上。
(2)应用场景:
①可以处理并列排名问题,不局限于固定行数提取。如下图所示,第5名有并列的情况,前5名就提取了6个人的数据,区别于方法1的数据截断。
②同样会展示所有数据,如图A-E列的数据均会呈现。
(3)核心公式:
=SORT(FILTER(A2:E16,E2:E16>=LARGE(E2:E16,5),"暂无数据"),5,-1)
(4)注意:
公式中两个“5”的含义不一样。
LARGE函数中的5(即第一个5)表示取前5名;
SORT函数中的5(即第二个5)表示按照第五列数据大小进行排序。

方法3:LARGE + INDEX函数
(1)适用版本:Excel 2019及更早版本
(2)操作步骤:
①LARGE函数-按条件进行排名
=LARGE($E$2:$E$16, ROWS(E$2:E2))
②INDEX函数-匹配对应姓名
=INDEX($A$2:$A$16,SMALL(IF($E$2:$E$16=L2,ROW($E$2:$E$16)-ROW($E$1)),COUNTIF($L$2:L2,L2)))
③VLOOKUP函数-匹配其他相关信息
=VLOOKUP(H2,A:E,2,FALSE)
VLOOKUP函数的详细介绍,可参考历史文章:【Excel】跨表匹配、查询、核对数据,VLOOKUP函数用法一篇搞定!

方法4:数据透视表
如果不想写公式,数据透视表也能实现动态提取前N名,非固定行数,可处理并列排名问题。
①选中数据区域,A1:E16;
②依次点击【插入-数据透视表】;

③字段设置:
A1.行:姓名
A2.值:语文、数学、英语、总分
④右击“总分”,选择【排序-降序】

⑤单击【值筛选-前10项】,在弹框中进行相应设置;
⑥点击【确定】即可,后续原数据如果发生变动,直接【右击“数据透视表区域”-点击“刷新”】。

数据透视表详细操作步骤,可参考历史文章:【Excel】告别繁琐公式!数据透视表“拖拖拽拽”,杂乱数据秒变乖!
一句话总结
有最新版Excel,就用FILTER+LARGE函数(可处理并列)或TAKE+SORT函数(固定行数,不处理并列),一个公式搞定;
没有最新版Excel,就用LARGE+INDEX函数;
不想写公式,就用数据透视表,源数据变动,一定记得刷新!
👇关注格子,学习更多办公实用技巧,2026争取少加班、早下班!