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

如何在Excel中基于项目名称动态引用对应表格数据进行SUMIFS计算

如何在Excel中基于项目名称动态引用对应表格数据进行SUMIFS计算

嗨,我完全懂你的困扰!你想在project_dashboard总览表里,用一个通用公式自动匹配每个项目名称对应的表格,算出已完成步骤的总成本,不用一个个手动修改SUMIFS里的表名对吧?之前试INDIRECT没成功,大概率是没摸透Excel结构化表格的引用规则,咱们来搞定它~

核心解决思路

Excel的结构化表格(List Object)引用格式是表名[列名],之前用INDIRECT失败,是因为没把这个完整的引用字符串正确拼接出来。咱们只要把项目名称和列名组合成合法的表格引用字符串,再用INDIRECT转换成实际的单元格区域,就能让SUMIFS动态工作了。

具体公式实现

假设你的project_dashboard表中:

  • A列是项目名称(比如A2单元格是project_1,A3是project_2,和对应表格的名称完全一致)
  • B列用来存放计算结果

在B2单元格输入以下公式,然后下拉填充即可:

=SUMIFS(INDIRECT(A2&"[Price]"), INDIRECT(A2&"[Status]"), "Completed")

公式拆解

  • INDIRECT(A2&"[Price]"):把A2的项目名称和[Price]拼接成project_1[Price]这样的合法表格列引用,INDIRECT会把这个字符串转换成实际的表格列区域。
  • INDIRECT(A2&"[Status]"):同理,动态引用对应表格的Status列。
  • SUMIFS会基于这两个动态区域,筛选Status为Completed的行,对Price列求和。

进阶优化(Excel 365及以上版本适用)

如果你用的是Excel 365,可以用LET函数给每个部分命名,让公式更易读、更易维护:

=LET(
    项目表名, A2,
    成本列, INDIRECT(项目表名&"[Price]"),
    状态列, INDIRECT(项目表名&"[Status]"),
    SUMIFS(成本列, 状态列, "Completed")
)

常见问题排查

如果公式返回#REF!错误,先检查这几点:

  • 确认A列的项目名称和对应表格的名称完全一致(包括空格、大小写,Excel不区分大小写,但建议完全匹配)
  • 检查目标表格里确实存在Price和Status这两个列标题
  • 确保没有重名的单元格名称和表格名称冲突(比如不要有单元格被命名为project_1)

这样不管以后新增多少个项目,只要在A列填上对应的表格名称,下拉公式就能自动计算总成本,再也不用重复写相似的SUMIFS啦~

备注:内容来源于stack exchange,提问作者Juicy_b0i

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 12:28:03