如何通过单元格值动态调用Google Sheets工作表实现跨表取数
问题根因
现在的公式算出来永远是0,本质是你拼出来的工作表名!B2只是一段纯文本,不是表格能识别的实际单元格引用——SUM拿到一段无意义的文本,自然算不出有效数值,就会返回0。
正确实现方式
要靠A1单元格的值动态调用对应工作表,得用INDIRECT函数把拼好的文本转成真正的可计算引用,不用额外嵌套ARRAYFORMULA:
- 如果你的工作表名称没有空格、特殊字符,直接写公式即可运行:
=SUM(INDIRECT(A1&"!B2")) - 如果工作表名带空格、特殊符号甚至中文,就得给工作表名套上单引号防止报错,通用兼容写法是:
=SUM(INDIRECT("'"&A1&"'!B2"))
容易踩的坑
- 别把拼好的文本直接塞给SUM,缺了文本转引用这一步,不管怎么套数组公式,SUM都只会把字符串当普通文本处理,结果永远是0。
- INDIRECT本身就支持跨工作表返回有效引用,不管是计算单格值还是多区域求和,都不需要额外嵌套数组函数。
内容的提问来源于stack exchange,提问作者Aurore
相关产品推荐
相关产品推荐

