如何使用SUMPRODUCT公式统计指定产品特定时间段的实付总金额
公式调整方案
原公式存在的问题
- 日期判断逻辑误用了SUMIFS类函数的语法,SUMPRODUCT需要每个条件都写成独立的布尔数组表达式,不能将范围、判断符、条件放在同一个括号内用逗号分隔
- 公式末尾缺少闭合的右括号
- 直接写
10/1/2021容易被Excel识别为文本或者除法运算,存在格式兼容风险
修正后可直接运行的公式
=SUMPRODUCT((V3:V1000=A2)*(R3:R1000>=DATE(2021,10,1))*(R3:R1000<=DATE(2021,10,31))*U3:U1000)
注:公式默认你当前的V列是产品信息列、R列是下单日期列、U列是实付金额列,如果你实际使用的列和描述的A/B/C列对应,替换对应列号即可。
更灵活的写法推荐
如果需要频繁修改统计时间段,可以把起止日期放在单独的单元格里,比如F1存起始日期、F2存结束日期,公式改为:
=SUMPRODUCT((V3:V1000=A2)*(R3:R1000>=F1)*(R3:R1000<=F2)*U3:U1000)
额外注意事项
- 确保R列的下单日期是Excel可识别的标准日期格式,不是文本格式,否则日期判断会失效
- 如果你使用的是365/2021版Excel或者WPS,也可以用更简单的SUMIFS实现相同需求:
=SUMIFS(U3:U1000,V3:V1000,A2,R3:R1000,">=2021-10-1",R3:R1000,"<=2021-10-31")
内容的提问来源于stack exchange,提问作者Joshua
相关产品推荐
相关产品推荐

