如何在Google Sheets中动态汇总所有工作表的指定单元格数据
动态汇总所有工作表特定单元格的纯公式方案
方法1:使用辅助边界工作表(兼容所有Excel版本)
这是最简洁且兼容性拉满的方案,核心利用Excel的跨工作表连续引用特性:
- 新建两个空白工作表,分别命名为
_Start和_End(加下划线是为了让它们固定在工作表列表首尾,方便管理) - 把所有需要纳入汇总的工作表放在
_Start和_End之间(后续新增工作表时,直接插在这两个表中间就行) - 在汇总单元格输入公式:
=SUM(_Start:_End!A1) - 核心优势:
- 新增/删除工作表时,只要放在边界表范围内,公式自动生效,完全不用手动修改
- 工作表结构变更(比如插入行、列)时,公式里的单元格引用会自动同步调整(比如A1因插入行变成A2,公式会自动改成
SUM(_Start:_End!A2)) - 非易失函数,计算效率远高于INDIRECT类方案
方法2:动态数组公式(适用于Excel 365/2021及以上版本)
如果不想用辅助工作表,可借助动态数组函数自动获取所有工作表名称并求和:
=SUMPRODUCT(SUM(INDIRECT("'"&FILTERXML("<x><y>"&SUBSTITUTE(GET.WORKBOOK(1),"[","<y>")&"</y></x>","//y[not(contains(.,'汇总'))]")&"'!A1")))
公式拆解:
GET.WORKBOOK(1):获取当前工作簿所有工作表的完整名称(含工作簿名)SUBSTITUTE+FILTERXML:提取纯工作表名称,同时排除汇总表自身(把公式里的'汇总'改成你的汇总工作表名称即可)INDIRECT:根据提取的工作表名称构建目标单元格引用SUMPRODUCT+SUM:对所有引用的单元格数值求和
注意事项:
- 新版Excel 365直接回车即可生效,旧版动态数组版本需按
Ctrl+Shift+Enter GET.WORKBOOK属于宏表函数,部分版本可能需要启用宏(Excel 365通常无需额外设置)- 工作表名称含空格、特殊符号时,公式仍能正常识别
为什么不推荐INDIRECT(ADDRESS(...))方案?
INDIRECT是易失函数,每次工作表有变动都会强制重新计算,拖慢工作簿运行效率ADDRESS生成的是固定单元格地址,工作表结构变更(比如插入行)时无法自动更新引用,必须手动修改公式
内容的提问来源于stack exchange,提问作者f.rodrigues
相关产品推荐
相关产品推荐

