当前位置:首页>排行榜>从1000条明细到动态排行榜 LET TAKE

从1000条明细到动态排行榜 LET TAKE

  • 更新时间 2026-09-23 18:52:15
从1000条明细到动态排行榜 LET TAKE

这篇我们分享的是一种Excel 365思维:

从“一个公式算一个答案”,升级到“几个函数组成一个自动更新的小系统”。

先来看一个真实案例

假设我们有1000条销售流水:

日期
区域
销售员
产品
销售额
9/1
华东
张伟
A产品
18,600
9/1
华南
李娜
B产品
12,800
9/2
华北
王强
A产品
21,500
9/2
华东
陈静
C产品
9,600
……
……
……
……
……

领导说:

“给我看看各区域销售额排名。”

传统做法可能是:

筛选区域 → 汇总 → 复制 → 排序。

或者做数据透视表。

但Excel 365可以换一种玩法:

让结果区自己生成。

第一步|UNIQUE:先让Excel自己找出所有区域

假设区域在B列。

在G2输入:

=UNIQUE(B2:B1001)

Enter。

你只写了一个公式,下面却自动出现:

华东华南华北华中西南

这就是Excel 365一个非常重要的变化:

动态数组

过去我们的思维是:

一个单元格 → 一个答案。

现在可以是:

一个公式 → 一整片答案。

而且以后原始数据里新增:

东北

结果区域会自动增加:

东北

不需要重新复制公式。

这里顺便认识第一个进阶概念:#

假设:

=UNIQUE(B2:B1001)

写在G2。

结果从G2自动溢出到G6。

以后我们不一定要写:

G2:G6

而可以写:

G2#

这个 # 的意思可以简单理解为:

G2这个公式产生出来的整片动态结果。

以后新增一个区域,原来可能是:

G2:G6

变成:

G2:G7

但:

G2#

不用改。

它自己跟着变。

真正让Excel“自动化”的,不只是函数,而是动态区域。

第二步|SUMIFS:给每个区域算销售额

现在G2#已经自动产生区域名单。

接下来在H2输入:

=SUMIFS(E2:E1001,B2:B1001,G2#)

注意最后:

G2#

不是一个区域。

而是一整组区域。

Excel 365会一次计算:

华东 → 386,500华南 → 328,600华北 → 295,800华中 → 218,900西南 → 176,500

于是我们只用了:

2个公式

就已经从1000条明细生成:

区域
销售额
华东
386,500
华南
328,600
华北
295,800
华中
218,900
西南
176,500

这时候已经很有用了。

但还不是排行榜。

第三步|SORTBY:让排行榜自己排

我们希望:

销售额最高的排第一。

很多人会想到:

数据 → 排序 → 从大到小。

可以。

但问题是:

下次销售数据更新以后,你还得再排一次。

Excel 365可以让“排序”本身也变成公式。

假设G2:H6是刚才产生的结果:

=SORTBY(G2#:H2#,H2#,-1)

其中:

H2#

是排序依据。

而:

-1

表示:

从大到小。

结果自动变成:

区域
销售额
华东
386,500
华南
328,600
华北
295,800
华中
218,900
西南
176,500

以后华北新增一笔:

150,000

华北销售额超过华东。

排行榜就会自动变成:

华北华东华南……

你不需要重新排序。

到这里,其实已经完成了一个“小系统”

我们回头看。

原始数据:

1000条销售流水

UNIQUE()

自动找到所有区域

SUMIFS()

自动汇总每个区域销售额

SORTBY()

自动生成排行榜

这才是我希望第22篇真正让读者学会的东西:

不要只问“这个函数怎么用?”

要开始问:“这些函数怎么组合起来替我干活?”

这就是从“会函数”到“会搭Excel模型”的区别。

还能不能再进阶一点?

可以。

而且这里非常适合第一次正式介绍:

LET

前面的做法为了方便理解,我们用了几个辅助区域。

但如果已经熟悉动态数组,可以把逻辑写到一个公式里。

例如:

=LET(区域,UNIQUE(B2:B1001),销售额,SUMIFS(E2:E1001,B2:B1001,区域),SORTBY(CHOOSE({1,2},区域,销售额),销售额,-1))

第一次看到是不是有点长?

别急。

其实把它翻译成人话,就很简单:

区域 = 找出所有不同区域销售额 = 算每个区域的销售额最后 =把“区域+销售额”按照销售额从大到小排列

LET到底高级在哪里?

不是因为公式更长。

恰恰相反。

它允许你给公式里的东西:

起名字。

以前:

UNIQUE(B2:B1001)

现在告诉Excel:

这个东西以后就叫 区域

然后:

SUMIFS(...)

算出来的东西:

以后就叫 销售额

最后:

SORTBY(...)

直接使用:

区域销售额

所以复杂公式不再是一大串:

A2:A1000,B2:B1000,G2#……

而开始像一段:

业务逻辑。

这也是Excel 365非常值得学的一种进阶思维。

如果老板突然说:“我只要前三名”

那就再加一个Excel 365函数:

TAKE

假设完整排行榜在J2#:

=TAKE(J2#,3)

马上只留下:

排名
区域
销售额
1
华北
445,800
2
华东
386,500
3
华南
328,600

如果老板说:

“改成前5名。”

把:

3

改成:

5

结束。

你会发现,Excel 365真正厉害的不是某一个函数

今天其实用了:

UNIQUESUMIFSSORTBYLETTAKE

如果一个一个背,看起来是5个函数。

但如果从工作流程看:

它们其实只是在完成一句话:

“从1000条销售流水里,自动生成区域销售Top N排行榜。”

这才是我更建议大家学习Excel的方法。

不是:

今天背UNIQUE。

明天背SORTBY。

后天背TAKE。

而是:

先想清楚工作要得到什么结果,再把函数组合起来。

📌 第22篇收藏卡

从1000条明细到动态排行榜

① 去重

=UNIQUE(B2:B1001)

② 汇总

=SUMIFS(E2:E1001,B2:B1001,G2#)

③ 排名

=SORTBY(G2#:H2#,H2#,-1)

④ Top 3

=TAKE(J2#,3)

⑤ 进阶

LET()

把几个步骤组合成一个公式。

最后,只记住一个变化

以前学Excel,我们经常问:

“这个函数怎么写?”

到了Excel 365,可以慢慢换一个问题:

“我能不能让这一整套工作自己跑?”

原始销售数据增加一行。

区域名单更新。

销售额更新。

排名更新。

Top 3也更新。

这才是动态数组真正好用的地方。

你下一篇最想看哪个进阶案例?

A|FILTER:自动生成“逾期客户清单”

B|LET:把200字符复杂公式拆成人话

C|UNIQUE + FILTER:自动生成部门员工名单

D|TAKE + SORTBY:自动生成Top N排行榜

留言直接打:

A / B / C / D

#Excel技巧#Excel函数#Excel教程#Excel公式#办公技巧#文员必备#上班族必备#办公效率#XLOOKUP#Excel职场实战

随机文章