如何在Excel中按月份汇总对应日期的计数值?含单组求和需求
Excel按月份汇总计数值的解决方案
一、自动汇总对应月份的计数值
针对你需要将B列日期匹配到B2:M2的月份表头,并汇总C列计数值到对应月份单元格的需求,推荐使用SUMIFS函数,公式精准且易拖拽复用:
在B3单元格(对应12/1/23月份的汇总)输入:
=SUMIFS($C:$C, $B:$B, ">="&B2, $B:$B, "<"&EDATE(B2, 1))
输入完成后,将公式向右拖拽至M3,即可自动完成所有月份的汇总。
公式说明:
SUMIFS($C:$C, ...):对C列的计数值进行求和$B:$B, ">="&B2:筛选B列日期大于等于当前表头的月份起始日(如B2的12/1/23)$B:$B, "<"&EDATE(B2, 1):筛选B列日期小于当前表头月份的下一个月起始日(EDATE(B2,1)会返回B2日期加1个月的日期,比如12/1/23加1个月是1/1/24,以此精准匹配整个目标月份的日期)
二、特定月份下指定行的计数值求和
针对你提到的「若B4、B5的日期属于F2对应的月份,对C5、C6的值求和」需求,分两种场景处理:
场景1:仅当B4、B5都属于F2月份时,求和C5、C6
使用IF结合AND和日期函数判断归属,再执行求和:
=IF(AND(MONTH(B4)=MONTH(F2), YEAR(B4)=YEAR(F2), MONTH(B5)=MONTH(F2), YEAR(B5)=YEAR(F2)), C5+C6, 0)
场景2:对所有属于F2月份的指定行,汇总C列值
如果是要筛选B5:B6中属于F2月份的行,再对对应C列数值求和,可缩小SUMIFS的范围:
=SUMIFS($C$5:$C$6, $B$5:$B$6, ">="&F2, $B$5:$B$6, "<"&EDATE(F2, 1))
关于之前函数失效的说明:
- VLOOKUP/XLOOKUP是单值匹配工具,无法直接处理多条件的汇总求和场景
- 单纯的
IF(AND())只能做单条逻辑判断,无法批量汇总,且若存在文本型日期格式,容易导致判断失效,建议始终用日期函数(MONTH/YEAR/EDATE)处理日期类逻辑
内容的提问来源于stack exchange,提问作者Jacob
相关产品推荐
相关产品推荐

