带OR条件的SUMPRODUCT计数结果不符合预期该如何解决?
公式错误原因
你原来的公式计算结果偏差,核心问题出在「或」逻辑的写法上:当某一行的Count列和Weight列同时不为空时,--(C2:C6<>"")+--(B2:B6<>"") 会返回 1+1=2,直接被SUMPRODUCT计入总和,相当于这类行被多计数了1次。如果你的范围多选了超出有效数据的空白行,也可能额外带来误差。
修正后的公式
根据你提供的样例数据(有效数据行是第2到第5行),修正后的公式如下:
=SUMPRODUCT(--(E2:E5="Sold"),--(D2:D5="Caps"),--(A2:A5=""),--((C2:C5<>"")+(B2:B5<>"")>0))
如果实际数据行数更多,把范围里的行号改成对应最大行号即可。
修正逻辑说明
在或逻辑的加法外套一层>0的判断,再转成布尔值,就能保证:不管是只满足其中一个条件,还是两个条件都满足,最终都只计为1次,不会出现重复计数的问题,最终返回的结果就是你预期的3。
内容的提问来源于stack exchange,提问作者Mian
相关产品推荐
相关产品推荐

