Excel多条件求和问题求助:SUMIFS数组公式结果不符预期
SUMIFS多条件数组求和错误排查与解决
问题原因
你当前使用的公式=SUM(SUMIFS(F$36:F$43;E$36:E$43;{"One";"Two"};D$36:D$43;{"Red";"White"}))中,数组参数是按位置一对一匹配的:
- 仅会计算「第二列为One且第一列为Red」、「第二列为Two且第一列为White」这两组条件的和,所以结果为7,而非你需要的所有交叉组合的和。
解决方案
方法1:使用SUMPRODUCT实现交叉条件求和
=SUMPRODUCT((D$36:D$43={"Red","White"})*(E$36:E$43={"One","Two"})*F$36:F$43)
通过布尔数组判断每行是否满足颜色、编号的任一条件,两个数组相乘得到同时满足双条件的行,再与数值列相乘后求和。
方法2:调整SUMIFS的数组维度生成全组合
=SUM(SUMIFS(F$36:F$43,E$36:E$43,{"One","Two"},D$36:D$43,{"Red";"White"}))
将编号数组设为横向(逗号分隔)、颜色数组设为纵向(分号分隔),这样会生成2×2的全条件组合(One+Red、One+White、Two+Red、Two+White),SUM会汇总所有组合的求和结果,得到正确的14。
方法3:拆分多个SUMIFS直接相加(直观易懂)
=SUMIFS(F$36:F$43,E$36:E$43,"One",D$36:D$43,"Red")+ SUMIFS(F$36:F$43,E$36:E$43,"One",D$36:D$43,"White")+ SUMIFS(F$36:F$43,E$36:E$43,"Two",D$36:D$43,"Red")+ SUMIFS(F$36:F$43,E$36:E$43,"Two",D$36:D$43,"White")
直接枚举所有符合要求的条件组合,分别求和后相加,适合条件数量较少的场景,不易出错。
内容的提问来源于stack exchange,提问作者arachnoden
相关产品推荐
相关产品推荐

