You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel INDIRECT函数:如何返回或合并多个单元格区域

Excel合并多区域为数组的解决方案

针对Excel 365/2021及以上版本

方案1:用VSTACK/HSTACK直接堆叠

这两个函数是专门用来合并多区域的,写法简单直接:
要纵向合并H2:H5和H10:H15,公式如下:
=VSTACK(INDIRECT("H2:H5"), INDIRECT("H10:H15"))
如果需要横向合并,把VSTACK换成HSTACK即可。

方案2:用TOCOL/TOROW处理多区域数组

INDIRECT支持传入区域数组参数,搭配TOCOL可以把多个区域转成单列数组:
=TOCOL(INDIRECT({"H2:H5","H10:H15"}), , TRUE)
第三个参数TRUE会自动忽略空值,不需要的话可以改成FALSE或者直接省略;横向合并用TOROW。

针对旧版Excel(无VSTACK/TOCOL函数)

用CHOOSE结合SEQUENCE来拼接数组,先算出两个区域的总长度(H2:H5共4个单元格,H10:H15共6个,总长度10),再通过序列判断每个位置对应哪个区域:
=CHOOSE(IF(SEQUENCE(10)<=4,1,2), INDIRECT("H2:H5"), INDIRECT("H10:H15"))
输入完成后需要按Ctrl+Shift+Enter作为数组公式提交。如果有更多区域,扩展IF的判断逻辑即可,比如三个区域可以用IFS函数。

注意事项

  • 确保INDIRECT引用的区域是合法有效的,避免出现无效单元格范围导致报错
  • 旧版Excel中数组公式需要手动触发数组输入,365版本会自动溢出结果
  • 如果需要保留空值,调整TOCOL的参数或者直接用VSTACK

内容的提问来源于stack exchange,提问作者ricklane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 21:33:19