如何调整Excel公式实现多工作表仅提取100%对应Total值求和
跨工作表指定Total行求和公式调整方案
原公式缺陷
- 原公式使用
SUMIF做单条件匹配,仅判断C列值为"Total"就对对应行Z列值求和,会累加同工作表内所有标注Total的行,无法筛选出绑定100%标识的目标Total行。
原公式参考:
=SUMPRODUCT(IFERROR(SUMIF(INDIRECT("'"&B17&" "&Year&"*'!C:C"),"Total",INDIRECT("'"&B17&" "&Year&"*'!Z:Z")),0))
调整逻辑
- 将单条件求和函数
SUMIF替换为支持多规则匹配的SUMIFS,新增匹配规则:Total所在行的占比列值为100%,只有同时满足两个规则的行才会参与求和。 - 注意:Excel中百分比格式的100%实际存储为数值
1,如果你的表格里100%是文本格式存储,需要将对应匹配条件改为"100%"。
调整后可用公式
以下公式默认100%标识存放在D列,可根据表格实际列号替换公式中D:D为对应列标:
=SUMPRODUCT(IFERROR(SUMIFS(INDIRECT("'"&B17&" "&Year&"*'!Z:Z"),INDIRECT("'"&B17&" "&Year&"*'!C:C"),"Total",INDIRECT("'"&B17&" "&Year&"*'!D:D"),1),0))
公式参数说明
SUMIFS第一参数为求和区域,即存放目标数值的Z列,与原公式逻辑一致- 第一组匹配规则:C列单元格值等于"Total",与原公式匹配逻辑一致
- 第二组匹配规则:新增的占比列(示例为D列)单元格值等于1(即100%),过滤掉非100%对应的Total行
- 外层
SUMPRODUCT+IFERROR逻辑保持不变,负责遍历所有符合命名规则的工作表,忽略无匹配工作表产生的错误值
内容的提问来源于stack exchange,提问作者Prattso
相关产品推荐
相关产品推荐

