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

Google Sheets中用INDIRECT动态合并命名区域(无需Apps Script)

动态合并可变数量的命名区域(无需Google Apps Script)

可行解决方案

可以实现,使用REDUCE+VSTACK+INDIRECT组合即可处理数量变化的命名区域合并,公式如下:

=REDUCE("", A13:A, LAMBDA(acc, x, IF(x="", acc, VSTACK(acc, INDIRECT(x)))))

公式说明

  • REDUCE:以空值为初始累计结果,遍历存储命名区域名称的A13:A区域
  • LAMBDA(acc, x):acc代表当前已合并的结果,x是当前遍历到的命名区域名称
  • IF(x="", acc, VSTACK(acc, INDIRECT(x))):若当前单元格为空则保留累计结果,否则通过INDIRECT引用对应命名区域,再用VSTACK将其追加到累计结果末尾

为何此前的方法无效

  • INDIRECT仅负责解析合法的单元格/区域引用字符串,无法识别数组字面量(如{citrics;berries})或完整公式字符串(如{INDIRECT("citrics");INDIRECT("berries")}),它不具备执行公式的能力,只能处理标准引用格式。
  • 静态写法={INDIRECT("citrics");INDIRECT("berries")}生效,是因为这是表格内置的数组字面量语法,由表格引擎直接解析执行,并非依赖INDIRECT处理。

内容的提问来源于stack exchange,提问作者Nicolás Fernández Fioretti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 21:56:02