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

跨多工作表SUMIF求和异常:SUMPRODUCT公式返回#REF!错误

你的Excel公式返回#REF!错误的原因分析

结合你的需求和提供的截图,公式出问题主要有这几个关键点:

1. 工作表名称的引用问题

从截图里能看到像2023 Budget这种带空格的工作表名,虽然你公式里加了单引号,但如果A71:A99里的工作表名存在这些情况,会直接让INDIRECT识别失败:

  • 名称拼写和实际工作表不一致,比如少了空格、大小写错了
  • 有空单元格,INDIRECT引用空值直接返回#REF!
  • 名称里有感叹号、括号这类特殊字符,单引号的包裹逻辑可能没覆盖到

2. SUMIF的引用区域出问题

SUMIF要求条件区域和求和区域都得是有效存在的:

  • 如果某张目标工作表的A列或C列被删除了,INDIRECT引用这两列就会报错
  • 要是某张工作表本身被删除了,那对应的INDIRECT引用自然也失效了

另外得确认所有目标工作表里,C列确实是科目代码列,A列是要求和的数值列,列位置错了也会出问题。

3. 数组引用的兼容性问题

有些旧版本Excel里,SUMPRODUCT直接嵌套多个INDIRECT生成的数组,可能会因为数组维度不匹配报错。你可以先拆分验证:

  • 先单独写=INDIRECT("'"&$A$71&"'!C:C"),看看能不能正常引用到对应工作表的C列
  • 再单独验证单个工作表的SUMIF:=SUMIF(INDIRECT("'"&$A$71&"'!C:C"),Consolidated!$B12,INDIRECT("'"&$A$71&"'!A:A")),确认单个工作表的计算是对的

修复小建议

  • 先把A71:A99区域理干净:删掉空单元格,把所有工作表名改成和实际完全一致的样子
  • 别用整列引用(比如C:C、A:A),换成具体的单元格范围,比如C2:C1000,减少无效引用的概率
  • 如果是Excel 365/2021版本,试试把公式改成=SUM(SUMIF(INDIRECT("'"&$A$71:$A$99&"'!C:C"),Consolidated!$B12,INDIRECT("'"&$A$71:$A$99&"'!A:A"))),用SUM替代SUMPRODUCT可能更稳定

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 02:27:24