乐于分享
好东西不私藏

第18天:动态数组函数——Excel 365的降维打击

第18天:动态数组函数——Excel 365的降维打击

哈喽,小伙伴们,打卡第十八天啦!👋

如果你使用的是Excel 365或Excel 2021,恭喜你,可以体验Excel历史上最强大的功能之一:动态数组函数传统函数一个公式只能返回一个值,而动态数组函数可以一个公式返回一个区域,并且结果会自动“溢出”到相邻单元格,无需按Ctrl+Shift+Enter。

今天我们来学习SORT、FILTER、UNIQUE等函数,它们将彻底改变你处理数据的方式。

✍️ 今日练习题目(第18天)

核心技能:动态数组概念、SORT排序、FILTER筛选、UNIQUE去重、SORTBY多条件排序、#溢出引用。


第一部分:认识动态数组

1.

  1. 在E1输入公式 =A2:A8,按回车。你会发现E1:E7自动填充了姓名列。这就是动态数组——一个公式返回一个区域,并自动溢出到合适的大小。


第二部分:UNIQUE——提取唯一值

  1. 在G1输入 =UNIQUE(B2:B8),按回车。结果返回部门列表:销售部、技术部、市场部(无重复)。

  2. =UNIQUE(B2:B8, FALSE, TRUE) 可以返回只出现一次的值(第三个参数为TRUE时返回唯一值,而非不重复值)。


第三部分:SORT——排序

  1. =SORT(A2:C8, 3, -1):对A2:C8区域,按第3列(销售额)降序排序。结果会自动溢出到多行多列。

    • 参数1:数组/区域

    • 参数2:按第几列排序

    • 参数3:1升序,-1降序

  2. =SORT(A2:C8, 2, 1):按部门升序排序。


第四部分:FILTER——筛选

  1. =FILTER(A2:C8, C2:C8>9000):筛选销售额大于9000的记录。返回所有符合条件的行。

  2. =FILTER(A2:C8, (B2:B8="销售部")*(C2:C8>9000)):筛选销售部且销售额大于9000的记录。*表示“与”,+表示“或”。

  3. 如果找不到结果,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最前沿的动态数组函数。它们让数据筛选、排序、去重变得极其简单,无需辅助列,无需数组公式三键。

明天预告:高级图表技巧——迷你图、瀑布图、甘特图。

我们明天见!有问题评论区留言~ 👋


加群领取今日练习文件