Excel按账户、月份汇总金额公式返回0问题求助
按账户+月份汇总金额的公式问题
问题场景
需要按账户、月份汇总金额并展示在对应账户单元格中,但使用的公式返回0,无法得到正确结果。
错误公式
=AND($E1>=MONTH(E1:E8),SUMPRODUCT(($F$1:$F$8>=MONTH(E1:E8)=6*($D$1:$F$8=D1))>=0))*6
实际数据表格
| D | E | Amount | |
|---|---|---|---|
| 1 | Account | Date | |
| 2 | 06962-5001121 | 2023-06-10 | 1 |
| 3 | 06962-5001123 | 2023-06-11 | 2 |
| 4 | 06962-5001121 | 2023-06-11 | 1 |
| 5 | 06962-5001122 | 2023-06-12 | 2 |
| 6 | 06962-5001122 | 2023-06-13 | 1 |
| 7 | 06962-5001121 | 2023-06-14 | 1 |
| 8 | 06962-5001123 | 2023-06-15 | 2 |
| 9 | 06962-5001123 | 2023-06-16 | 2 |
期望结果
| Account | Amount | Month |
|---|---|---|
| 06962-5001121 | 3.00 | July |
| 06962-5001122 | 3.00 | July |
| 06962-5001123 | 6.00 | July |
问题分析与正确公式
原公式逻辑混乱,AND、MONTH的使用方式完全错误,条件判断语法不符合Excel规则。以下是两种可行的解决方案:
方案1:SUMPRODUCT公式(兼容旧版Excel)
假设汇总表中A列是账户名,在B2单元格计算对应账户6月的金额总和,使用公式:
=SUMPRODUCT((MONTH($E$2:$E$9)=6)*($D$2:$D$9=A2)*$F$2:$F$9)
MONTH($E$2:$E$9)=6:筛选6月的记录(注:实际数据都是6月,期望结果写July可能是笔误,若需统计7月数据,将6改为7即可)$D$2:$D$9=A2:匹配当前行的账户- 两个条件相乘得到符合要求的记录,再乘以金额列完成求和
方案2:SUMIFS公式(更简洁直观)
同样针对汇总表B2单元格,使用公式:
=SUMIFS($F$2:$F$9,$D$2:$D$9,A2,$E$2:$E$9,">=2023-06-01",$E$2:$E$9,"<=2023-06-30")
直接通过日期区间筛选6月数据,同时匹配对应账户,完成金额求和。
注意事项
- 若实际需求是统计7月数据,需调整公式中的月份值或日期区间
- 公式中的单元格范围要根据实际数据的行数调整,确保覆盖所有记录
内容的提问来源于stack exchange,提问作者Norm
相关产品推荐
相关产品推荐

