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

Excel跨多工作表对应单元格求和,如何将引用文本传入SUM函数

Excel跨表同位置单元格求和解决方案

方案1:直接复用你已生成的引用文本串

如果你已经通过TEXTJOIN拼接好的引用串(格式如Sheet1!$B$2,Sheet2!$B$2...)存在Summary表的A1单元格,用宏表函数EVALUATE即可直接转换计算:

  • 选中要输出求和结果的单元格,按Ctrl+F3调出名称管理器
  • 点击「新建」,自定义名称(例如CAL_SUM),引用位置输入=EVALUATE("SUM("&Summary!$A$1&")")后保存
  • 回到目标单元格输入=CAL_SUM即可得到求和结果

注意:该方案需要将文件保存为.xlsm启用宏格式,后续你拼接的引用串更新时,结果会自动同步。

方案2:无需拼接文本的3D引用方案(更易维护)

如果所有待求和工作表都排布在Summary表的同一侧,且没有不需要参与求和的其他业务表,直接用3D引用公式即可,不需要额外做VBA取表名、拼接文本的操作:
=SUM('Sheet1:Sheet7'!$B$2)

后续新增工作表时,只要把新表拖到公式里首尾两个工作表(即Sheet1和Sheet7)的中间区间,求和结果会自动包含新表的对应单元格值,无需手动修改公式。

方案3:无宏兼容公式方案

如果不想保存为启用宏的格式,可以调整你现有的VBA逻辑,不要拼接逗号分隔的引用串,而是把所有工作表名单独存放在Summary表的某一列(例如C列C1:C7),用以下公式求和:
=SUMPRODUCT(N(INDIRECT(C1:C7&"!$B$2")))

若你的工作表名包含空格或特殊字符,公式调整为=SUMPRODUCT(N(INDIRECT("'"&C1:C7&"'!$B$2")))即可,新增工作表时只要VBA把新表名追加到对应列,公式自动更新结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:06:03