哈喽,小伙伴们,打卡第十八天啦!👋
如果你使用的是Excel 365或Excel 2021,恭喜你,可以体验Excel历史上最强大的功能之一:动态数组函数。传统函数一个公式只能返回一个值,而动态数组函数可以一个公式返回一个区域,并且结果会自动“溢出”到相邻单元格,无需按Ctrl+Shift+Enter。
今天我们来学习SORT、FILTER、UNIQUE等函数,它们将彻底改变你处理数据的方式。
✍️ 今日练习题目(第18天)
核心技能:动态数组概念、SORT排序、FILTER筛选、UNIQUE去重、SORTBY多条件排序、#溢出引用。
第一部分:认识动态数组
1.

在E1输入公式
=A2:A8,按回车。你会发现E1:E7自动填充了姓名列。这就是动态数组——一个公式返回一个区域,并自动溢出到合适的大小。
第二部分:UNIQUE——提取唯一值
在G1输入
=UNIQUE(B2:B8),按回车。结果返回部门列表:销售部、技术部、市场部(无重复)。
=UNIQUE(B2:B8, FALSE, TRUE)可以返回只出现一次的值(第三个参数为TRUE时返回唯一值,而非不重复值)。
第三部分:SORT——排序
=SORT(A2:C8, 3, -1):对A2:C8区域,按第3列(销售额)降序排序。结果会自动溢出到多行多列。参数1:数组/区域
参数2:按第几列排序
参数3:1升序,-1降序

=SORT(A2:C8, 2, 1):按部门升序排序。
第四部分:FILTER——筛选
=FILTER(A2:C8, C2:C8>9000):筛选销售额大于9000的记录。返回所有符合条件的行。
=FILTER(A2:C8, (B2:B8="销售部")*(C2:C8>9000)):筛选销售部且销售额大于9000的记录。*表示“与”,+表示“或”。
如果找不到结果,FILTER会返回#CALC!错误,可以用第三个参数指定自定义提示:
=FILTER(A2:C8, C2:C8>20000, "无数据")。
第五部分:SORTBY——按多条件排序
SORTBY不要求指定列号,而是直接指定排序列。
=SORTBY(A2:C8, B2:B8, 1, C2:C8, -1)
先按部门升序,再按销售额降序。

第六部分:组合使用——嵌套动态数组
动态数组可以嵌套,实现一步到位的结果。
场景:提取销售部所有人员,并按销售额降序排序
=SORT(FILTER(A2:C8, B2:B8="销售部"), 3, -1)

场景:提取唯一部门,并按部门字母排序
=SORT(UNIQUE(B2:B8))

第七部分:# 溢出引用
动态数组返回的结果区域称为“溢出区域”。当你在公式结果旁边输入内容时,会出现#SPILL!错误。溢出区域不能有阻挡。
要引用整个溢出区域,可以在第一个单元格公式后加
#,例如=E1#会引用E1开始的所有溢出单元格。
第八部分:传统函数的升级——XLOOKUP
虽然不算动态数组核心,但XLOOKUP是VLOOKUP的替代者,支持逆向查找、默认精确匹配等。
=XLOOKUP("李四", A2:A8, C2:C8):查找李四的销售额。

=XLOOKUP("李四", A2:A8, C2:C8, "未找到", 0, 1):支持从后往前查找等。


今日小贴士
版本要求:动态数组函数仅适用于Excel 365和Excel 2021。如果使用旧版,需要Ctrl+Shift+Enter数组公式。
溢出错误:如果溢出区域被其他数据挡住,会显示#SPILL!。清空阻挡单元格即可。
交叉运算符:
@符号可以取溢出区域的左上角值,例如=@SORT(...)。优势:动态数组函数让公式更简洁,且自动适应数据变化。比如数据源增加行,SORT结果会自动扩展。
恭喜你!今天你接触了Excel 365最前沿的动态数组函数。它们让数据筛选、排序、去重变得极其简单,无需辅助列,无需数组公式三键。
明天预告:高级图表技巧——迷你图、瀑布图、甘特图。
我们明天见!有问题评论区留言~ 👋
加群领取今日练习文件

夜雨聆风