hstack 可以把多个区域按水平方向拼到一起。常用写法是 =hstack(区域1,区域2),适合把客户信息、商品明细、金额列这类分散区域横向合成一张临时结果表。
当前操作软件:Microsoft Excel
软件版本:Microsoft 365
函数语法:=HSTACK(array1,[array2],...)。array1 是第一个要拼接的区域,后面的 array2、array3 可以继续追加。HSTACK 属于较新的动态数组函数,当前环境用 Microsoft 365;如果使用 WPS 或旧版 Excel,需要先确认是否支持该函数。
第一步:准备要横向合并的两个区域
先把两块源数据放在同一个工作表里。示例中 A:B 是客户和城市,D:E 是商品和金额,中间空一列只是为了看清来源;真正写公式时,只要引用各自的连续区域即可。

第二步:输入 HSTACK 合并公式
在结果区左上角输入 =HSTACK(A2:B5,D2:E5)。公式确认后,结果会从 G2 开始向右、向下溢出,A:B 的两列会排在前面,D:E 的两列会接在后面。

第三步:检查两个区域的行数是否一致
如果第一个区域有 5 行,第二个区域只有 4 行,HSTACK 会保留更长的行数,缺失的位置可能显示 #N/A。这不是公式写错,而是两个数组高度不一致造成的补位结果。

第四步:用 IFERROR 清理多出来的错误值
如果只是做临时汇总,不想让空缺位置显示 #N/A,可以写成 =IFERROR(HSTACK(A2:B6,D2:E5),"")。这样源数据仍然横向合并,缺失的单元格会保持空白,打印或复制时更干净。

适合用 HSTACK 的办公场景
HSTACK 适合临时拼表、组合多个字段、把查询结果横向展开,也适合和 FILTER、CHOOSECOLS 搭配使用。它不会改变源数据,只在公式结果区生成动态数组;源区域新增记录后,结果区会跟着公式重新计算。
使用时留意两点:结果区右侧和下方要保持空白,否则会出现溢出错误;多个区域行数不一致时,先决定是保留 #N/A 作为提醒,还是用 IFERROR 把空缺位置处理成空白。


















