HSTACK 函数¶
函数概述¶
HSTACK 用于按列方向横向拼接多个数组或区域,把它们并排“堆叠”到同一个结果数组中。它属于动态数组函数,返回结果会自动溢出到右侧及下方单元格。
适用场景示例:
- 将多个分散的表并排合并为一张宽表
- 把“姓名列 + 多个月份数据列”横向组装成报表
- 拼接不同来源的数组结果(如 FILTER、UNIQUE 的返回值)并排展示
提示:横向拼接用 HSTACK;纵向拼接用 VSTACK(思路类似)。
基础语法¶
参数说明¶
| 参数 | 是否必填 | 含义 | 可填写内容 |
|---|---|---|---|
| array1 | 必填 | 第一个要拼接的数组/区域 | 单元格区域、数组常量、函数返回数组 |
| array2... | 选填 | 继续横向拼接的数组/区域 | 可继续追加多个 |
补充规则(理解结果形状很关键):
- HSTACK 会把各个数组按列方向并排放在一起。
- 若各数组的行数不同,会用
#N/A把较短的数组在底部补齐到最长行数(以保持矩形结果)。
基础用法示范¶
示例1:两列并排合并¶
需求:把 A 列“姓名”和 C 列“部门”并排生成两列表。
结果:输出为两列动态数组,左列来自 A2:A6,右列来自 C2:C6。
示例2:多区域横向拼接¶
需求:将“姓名、部门、入职日期”三块区域并排合并。
示例3:与筛选结果并排展示¶
需求:筛选出销售额大于等于 10000 的记录,并把“姓名”和“销售额”两列并排返回。
说明:同一条件筛选两次,分别取不同列,再用 HSTACK 拼成两列结果。
示例4:行数不一致时的补齐¶
需求:把 3 行的数组与 5 行的数组并排。
现象:左侧数组只有 3 行,右侧有 5 行;最终结果会以 5 行为准,左侧第 4、5 行会显示 #N/A 作为补齐。
示例5:拼接表头与数据¶
需求:生成带表头的两列表(“姓名”“部门”),下方接数据。
说明:用数组常量构造表头,再用 VSTACK 纵向叠到数据上方。
总结¶
- HSTACK 的核心作用是:把多个数组按列方向横向并排合并,返回一个新的动态数组。
- 参数可接:区域、数组常量、以及其他动态数组函数的返回值,组合能力很强。
- 合并时会以最大行数为准,行数不足的部分用
#N/A补齐。 - 常见搭配:FILTER/UNIQUE/SORT 等返回数组的函数,用 HSTACK 快速并排组装报表。