Excel跨工作表条件求和问题:按C2=1汇总1-99表的F7单元格
解决跨工作表条件求和的Excel公式问题
原公式的错误点
- 逻辑目标错误:满足
C2=1时,需要求和的是对应工作表的F7,但原公式中返回的是C2,完全不符合需求 - 跨工作表引用方式错误:Excel中直接使用
'1:99'!C2这种连续工作表范围的引用,无法在数组逻辑中逐个遍历每个工作表的C2单元格,导致公式无法解析正确的判断条件
正确公式方案
方案1:适用于Excel 365/2021(支持动态数组)
直接输入以下公式后按回车即可:
=SUM(IF(INDIRECT("'"&SEQUENCE(99)&"'!C2")=1, INDIRECT("'"&SEQUENCE(99)&"'!F7"), 0))
- 原理:用
SEQUENCE(99)生成1到99的数字序列,结合INDIRECT函数动态生成每个工作表的C2和F7单元格引用,IF函数判断条件后返回对应F7的值,最后用SUM求和
方案2:适用于旧版Excel(2019及以前,无动态数组支持)
输入以下公式后,必须按Ctrl+Shift+Enter组合键作为数组公式确认:
=SUM(IF(INDIRECT("'"&ROW(INDIRECT("1:99"))&"'!C2")=1, INDIRECT("'"&ROW(INDIRECT("1:99"))&"'!F7"), 0))
- 原理:用
ROW(INDIRECT("1:99"))替代SEQUENCE生成1到99的序列,其余逻辑同方案1,旧版Excel需要通过数组公式触发逐个单元格的判断逻辑
验证注意事项
- 确保所有工作表的标签确实是
1到99,没有拼写错误或额外字符 - 如果存在工作表标签包含空格或特殊字符,需要调整
INDIRECT中的引号格式,但你的场景中标签是纯数字,当前格式即可正常工作
内容的提问来源于stack exchange,提问作者Dr. Scott Debb
相关产品推荐
相关产品推荐

