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

如何通过单元格引用的表名跨工作表求和表列值?

解决方法

方法1:修正INDIRECT的完整引用格式

你的公式失败的核心原因是没有明确指定工作表与表的层级关系——因为工作表名和内部表名都是Dally/Morose,Excel需要明确的路径才能定位到目标列。

使用以下公式(填充到Total Cost列对应单元格):

=SUM(INDIRECT("'"&A2&"'!"&A2&"[Cost]"))
  • 细节说明:
    • "'"&A2&"'!":构建工作表的引用前缀(单引号用于兼容带空格的工作表名,无空格时可省略,但保留写法更通用)
    • A2&"[Cost]":拼接表名与目标列的结构化引用
    • 整体组合成'Dally'!Dally[Cost]这类完整路径,INDIRECT就能正确解析为目标表的Cost列

方法2:用Excel 365/2021动态函数简化(可选)

如果你的Excel版本支持动态数组,可结合LET函数让公式逻辑更清晰:

=LET(
    sheetName,A2,
    tableName,A2,
    SUM(INDIRECT("'"&sheetName&"'!"&tableName&"[Cost]"))
)

方法3:避开INDIRECT(定义名称实现)

如果INDIRECT仍有兼容问题,可通过定义名称实现动态引用:

  1. 点击「公式」选项卡 → 「定义名称」,名称设为DynamicCost,引用位置输入:
    =INDIRECT("'"&Sheet1!$A2&"'!"&Sheet1!$A2&"[Cost]")
    
    (注意替换Sheet1为你的主工作表名称)
  2. 在Total Cost列输入=SUM(DynamicCost),即可自动匹配对应行的表数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 13:12:39