乐于分享
好东西不私藏

Excel 动态数组函数全景图:一篇建立完整体系(建议收藏)

Excel 动态数组函数全景图:一篇建立完整体系(建议收藏)

一、什么是动态数组?

在 Microsoft Excel 中:一个公式,返回一整块结果(自动溢出)

示例:

原始数据

姓名
城市
张三
上海
李四
北京
王五
上海

公式=FILTER(A2:B4,B2:B4=”上海”)

结果(自动溢出)

姓名
城市
张三
上海
王五
上海

这就是动态数组的核心能力:一个公式 = 一个结果区域


二、全景分类(核心)

 共5 大类

① 数据筛选类(查询能力)

函数
作用
FILTER
条件筛选
UNIQUE
去重
SORT
排序
SORTBY
按指定列排序

示例:筛选 + 排序

原始数据

姓名
金额
张三
5000
李四
8000
王五
6000

公式

=SORT(FILTER(A2:B4,B2:B4>5000),2,-1)

结果

姓名
金额
李四
8000
王五
6000

 这是“Excel查询引擎”的基础


② 数据选择类(字段控制)

函数
作用
CHOOSECOLS
选列
CHOOSEROWS
选行
TAKE
取数据
DROP
删除数据

示例:只取前2行

原始数据

姓名
金额
张三
5000
李四
8000
王五
6000

公式=TAKE(A2:B4,2)

结果

姓名
金额
张三
5000
李四
8000

③ 数据重排类(结构改变)

函数
作用
WRAPROWS
按行分组
WRAPCOLS
按列分组
TOROW
转一行
TOCOL
转一列
EXPAND
扩展结构

示例:一列 到 多列

原始数据

客户
张三
李四
王五
赵六

公式

=WRAPROWS(A2:A5,2)

结果

列1
列2
张三
李四
王五
赵六

④ 组合拼接类(数据合并)

函数
作用
HSTACK
横向拼接
VSTACK
纵向拼接

示例:上下合并

公式

=VSTACK(A3:A4,A8:A9)

结果


⑤ 逻辑封装类(进阶能力)

函数
作用
LET
定义变量
LAMBDA
自定义函数
MAP
批量计算
BYROW
按行计算
BYCOL
按列计算

示例:LET优化公式

原始数据

金额
100
200
300

公式

=LET(total,SUM(A2:A4),total*2)

结果:1200


三、核心工作流(最重要)

一个完整数据处理流程

筛选 → 排序 → 选列 → 重排 → 展示

场景:做一个“上海销售排行榜”

目标:

  1. 只要【上海】数据
  2. 按【销售额降序】
  3. 只展示【姓名 + 销售额】
  4. 每3个一行(用于报表展示)

对应函数组合

=WRAPROWS(

  TOROW(

    CHOOSECOLS(

      SORT(

        FILTER(A2:D7,B2:B7="上海"),

        4,-1

      ),

      1,4

    )

  ),

  6

)

含义拆解

  1. FILTER → 找“上海数据”
  2. SORT → 按金额排序
  3. CHOOSECOLS → 只要姓名+金额
  4. TROW→转成一行
  5. WRAPROWS → 每3个一行展示