如何在Google Sheets中带条件使用SUMPRODUCT函数
问题原因
- 逻辑适配错误:SUMPRODUCT本身支持直接通过布尔数组做条件筛选,不需要额外嵌套IF函数,你写的IF逻辑返回的数组不符合乘积求和的运算规则,导致结果偏差。
- 数组维度不匹配:公式中条件区域是
C5:C7(共3行),但取值区域写的是D5:D、E5:E这种无明确结束行的开放式引用,多个数组行数不一致,直接导致计算错误。 - 缺少乘积规则:你需要的是符合条件的行的两列对应值相乘后求和,原公式没有设置两列相乘的逻辑,自然得不到预期结果。
正确修改方案
直接使用如下公式即可,常规回车就能返回正确结果:=SUMPRODUCT((C5:C7=G5)*D5:D7*E5:E7)
公式说明:
(C5:C7=G5)会生成布尔数组,符合条件的行返回1(TRUE),不符合的返回0(FALSE),和后面两列的值相乘后,不符合条件的行结果会被清零,最后SUMPRODUCT会把所有计算结果相加,就是你要的满足条件的乘积和。
如果你的数据行数不固定,也可以用整列引用简化写法,注意要确保引用列没有无关的表头、无效文本数据即可:=SUMPRODUCT((C:C=G5)*D:D*E:E)
内容的提问来源于stack exchange,提问作者James Raitsev
相关产品推荐
相关产品推荐

