Excel 如何快速找出前 N 名销冠?改一个数字,名单自动变!
- 2026-09-22 13:55:49
老板突然问:
“把销售额最高的前 3 名给我。”
你可能会想到:
排序 → 从大到小 → 复制前三名。
如果只是查一次,当然没问题。
但如果老板又说:
“改成前 5 名。”
然后又说:
“我再看看前 8 名。”
这时候你还要重新排序?
没必要。
Excel 里可以用:
TAKE + SORTBY
直接做一个动态的前 N 名销冠名单。
先看一下这份销售数据
下面设置一个:
销冠前 N 名:3
我们希望自动得到:
孙丽
黄磊
吴昊
以前可能怎么做?
最简单的方法:
先排序 → 找前三名 → 复制出来。
但这个方法有一个问题:
N 一变,就得重新操作。
如果 N 从:
3 → 5 → 10
你就得重复操作好几次。
真正方便的方法应该是:
只改 N,结果自己变。
第一步:设置一个动态的 N
比如在 E2 输入:
3
这个数字代表:
我要前 3 名。
以后想看前 5 名,
直接把 3 改成 5。
第二步:输入一个公式
假设:
销售人员在 A2:A11 销售额在 B2:B11 E2 是前 N 名
输入:
=TAKE(SORTBY(A2:B11,B2:B11,-1),E2)
回车。
Excel 会先按照销售额:
从高到低排序
然后再:
取前 N 行。
所以 E2 是 3 时,
结果就是:
孙丽
黄磊
吴昊
🎬 看看它是怎么动态变化的

这就是这个公式最爽的地方:
不用重新排序。
不用重新复制。
甚至不用重新写公式。
只需要:
改一个数字。
这个公式怎么理解?
其实可以拆成两步:
SORTBY
SORTBY(A2:B11,B2:B11,-1)
作用:
按照销售额从高到低排序。
然后:
TAKE
TAKE(排序结果,E2)
作用:
从排序后的结果里,取前 N 行。
合起来就是:
先按销售额降序排列,再取前 N 名。
为什么这个方法比手动排序更好?
因为它是动态的。
比如:
N = 3
→ 前 3 名
N = 5
→ 前 5 名
N = 10
→ 前 10 名
你甚至可以把 N 做成下拉选择,
让它变成一个简单的动态销冠排行榜。
最后记住这个组合
如果你的需求是:
“按照某个指标排序,然后取前 N 名。”
可以试试:
=TAKE(SORTBY(数据区域,排序区域,-1),N)
核心逻辑就是:
SORTBY 负责排序
TAKE 负责取前 N 名
以后老板再说:
“给我前 3 名。”
然后又改口:
“还是看前 5 名吧。”
不用重新做。
改 N,名单自动变。
这才是真正的动态排名。
📌 更多 Excel 办公技巧
我会持续分享:
Excel 实用技巧 Excel 函数 Excel 数据整理 Power Query Power BI AI 办公
公众号、小红书、抖音、视频号全平台同名:Frank讲数据
如果你平时也需要做:
TOP 3、TOP 5、TOP 10
这种动态排行榜,
这个方法可以收藏起来。
排名可以固定,但 N 不一定要固定。