如何在Excel/Google Sheets中按多表头行条件求和?
Excel/Google Sheets 多维度条件求和解决方案
需求说明
需要对区域C8:V22内的数据求和,同时满足以下4个匹配规则:
- 匹配
B列对应行内容的前3个字符 - 匹配第5行的目标数字
- 匹配第6行对应列内容的首字符
- 匹配第7行对应列内容的前3个字符
目标求和结果:10001 + 10081 + 10161 + 10221 = 40464
过往尝试
曾使用以下数组公式(按Ctrl+Shift+Enter执行),未得到正确结果:
=INDEX($B$5:$V$22, MATCH($D$26,LEFT($B$5:$B$90,3),0), MATCH(($F$26=$5:$5) * ($G$26=LEFT($6:$6, 1)) * (H26=LEFT($7:$7,3)), 0))
也尝试过SUMIFS、SUMPRODUCT、SEARCH等函数组合,均未解决问题。
附简化测试场景:需匹配求和的数值为11+17+26,预期结果为54。
正确公式方案
Excel 版本(兼容新旧版本)
使用SUMPRODUCT结合多条件逻辑判断,直接筛选符合所有规则的单元格并求和:
=SUMPRODUCT( --(LEFT($B$8:$B$22,3)=$D$26), --($C$5:$V$5=$F$26), --(LEFT($C$6:$V$6,1)=$G$26), --(LEFT($C$7:$V$7,3)=$H$26), $C$8:$V$22 )
细节说明:
--用于将逻辑判断返回的TRUE/FALSE转换为1/0,只有所有条件都为1时,对应数据才会被计入求和- 所有条件区域的范围严格对应数据区域的行/列,避免引用范围溢出错误
- Excel 365及以上版本直接回车即可生效;旧版本需按
Ctrl+Shift+Enter触发数组运算
Google Sheets 版本
Google Sheets原生支持数组运算,公式无需特殊快捷键,直接输入回车即可:
=SUMPRODUCT( LEFT($B$8:$B$22,3)=$D$26, $C$5:$V$5=$F$26, LEFT($C$6:$V$6,1)=$G$26, LEFT($C$7:$V$7,3)=$H$26, $C$8:$V$22 )
简化场景验证
将简化示例中的匹配值代入公式对应单元格(D26、F26、G26、H26),公式会自动筛选出11、17、26并求和得到54,与预期一致。
内容的提问来源于stack exchange,提问作者sam
相关产品推荐
相关产品推荐

