跳转至

EXPAND 函数

函数概述

EXPAND 函数用于把一个数组扩展到指定的行数和列数。当目标尺寸大于原数组时,EXPAND 会在右侧与底部补齐空位;补齐的内容默认是 #N/A,也可以通过参数指定填充值。 常见用途:统一报表输出尺寸、为后续计算预留区域、对齐不同大小的动态数组结果等。


基础语法

=EXPAND(array, rows, [columns], [pad_with])

说明:columnspad_with 为可选参数;如果不写 columns,会保持原数组列数不变。


参数说明

参数名 是否必填 含义 典型写法
array 必填 要扩展的源数组/区域 A2:C5SEQUENCE(3,2)
rows 必填 扩展后的目标行数 10ROWS(A2:A8)
columns 可选 扩展后的目标列数 6COLUMNS(A2:F2)
pad_with 可选 补齐用的值;省略则补 #N/A 0"""—"

基础用法示范

示例1:扩展到指定尺寸

需求:把 A2:B4 扩展为 6 行 4 列,空位补 0。

=EXPAND(A2:B4, 6, 4, 0)

效果:原数据保持在左上角,右侧与下方新增的区域用 0 填充。


示例2:只扩展行数

需求:把 A2:C4 扩展到 10 行,列数不变,补空白。

=EXPAND(A2:C4, 10, , "")

要点:第三个参数留空,表示“保持原列数”;"" 会让补齐区域显示为空。


示例3:默认补值为 #N/A

需求:把 A2:A5 扩展到 8 行,不指定补值。

=EXPAND(A2:A5, 8)

要点:省略 pad_with 时,补齐部分为 #N/A,便于识别“这里是填出来的”。


示例4:与动态数组配合

需求:生成 3×2 的序列数组,并扩展到 5×4,补“-”。

=EXPAND(SEQUENCE(3,2), 5, 4, "-")

用途:在不依赖真实数据源的情况下,快速构造固定尺寸的输出区。


示例5:为后续计算预留尺寸

需求:对筛选结果统一输出为 20 行 5 列,不足用空白补齐。

=EXPAND(FILTER(A2:E200, A2:A200<>""), 20, 5, "")

用途:让下游引用区域(比如图表、汇总、导出模板)始终稳定,不因结果行数变化而“跳动”。


总结

EXPAND 的核心价值是:把不规则或可变大小的数组,规范成固定尺寸的输出。 掌握 3 个点就够用:

  1. rows/columns 决定目标尺寸;
  2. 省略 columns 可保持原列数;
  3. pad_with 决定补齐内容,省略则补 #N/A

用它配合 FILTERSEQUENCE 等动态数组函数,可以显著提升报表的稳定性与可维护性。