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

Google Sheets中Indirect公式无法引用全部工作表范围的问题及修正

问题原因

INDIRECT函数本身不支持直接接收数组范围作为输入,当你传入H2:H46这种多单元格范围时,它只会读取范围的第一个单元格(H2)内容生成引用,不会自动遍历整个H2:H46的所有工作表名称。这就是为什么单独测试时只返回H2对应工作表的A列数据,最终导致原公式的SUMPRODUCT只统计了一张表的结果,返回值始终为1。

正确统计公式

方法一:用ARRAYFORMULA触发数组运算

=SUMPRODUCT(--(ARRAYFORMULA(COUNTIF(INDIRECT("'"&H2:H46&"'!A:A"),A2))>0))
  • 核心逻辑:ARRAYFORMULA会强制INDIRECT逐个处理H2到H46的每个工作表名称,生成对应表的A列引用;COUNTIF统计每个表中A2数值的出现次数,得到一个45个元素的数组;再将数组里大于0的结果转成1,等于0的转成0;最后用SUMPRODUCT求和,得到目标数值出现过的工作表总数。

方法二:用BYROW遍历工作表名称(逻辑更直观)

=SUM(BYROW(H2:H46,LAMBDA(sheet,--(COUNTIF(INDIRECT("'"&sheet&"'!A:A"),A2)>0))))
  • 核心逻辑:BYROW遍历H2:H46的每个工作表名称,对每个表判断A2数值是否存在(存在返回1,否则返回0);最后用SUM把所有结果加起来,得到统计数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 22:02:23