Excel技术问询:如何按时间分组使用SUMIF函数,以及按日期统计各项目的总量?
Excel 按时间/日期分组求和的实用方法
嘿,我来帮你搞定这两个Excel分组求和的问题,都是日常工作里超常用的场景:
1. 按时间分组并使用SUMIF函数求和
如果你的需求是按小时、日期、月份这类时间维度分组,用SUMIF的核心思路是先把时间统一成你需要的分组格式,再做条件求和:
- 第一步:整理时间分组列。假设你的原始时间在A列(比如
2021/3/3 14:30这种带具体时间的格式),如果要按日期分组,在空白列(比如C列)输入公式:=INT(A2),下拉填充后,C列就会只保留日期部分(时间被自动剔除);如果要按小时分组,就用=HOUR(A2)提取小时数。 - 第二步:用SUMIF求和。在D列输入公式:
=SUMIF($C:$C, $C2, $B:$B)(这里B列是你需要求和的数值列),下拉填充后,每个时间分组对应的总和就出来了。 - 最后一步:去重。选中C:D列,点击「数据」→「删除重复值」,就能得到唯一的时间分组和对应的求和结果啦。
注意:SUMIF的参数顺序是「条件范围」→「条件」→「求和范围」,一定要对应好列哦。
2. 按日期+项目统计总量(快捷实现方式)
你给的示例数据需要同时按日期和项目两个维度求和,最快捷的方式绝对是用数据透视表,比写函数高效太多:
- 选中整个数据区域(包括表头
Date、item、qty); - 点击菜单栏的「插入」→「数据透视表」,选择透视表的放置位置(建议选新工作表,避免打乱原始数据);
- 在右侧的「数据透视表字段」面板里:
- 把
Date拖到「行」区域; - 把
item也拖到「行」区域(放在Date的下方,这样会先按日期分组,再按项目细分); - 把
qty拖到「值」区域,默认就是「求和项:qty」,如果不是,右键点击值区域的字段,选择「值字段设置」改成「求和」即可。
- 把
- 完成后你就能得到和你期望完全一致的统计结果,而且如果原始数据更新了,只需要右键透视表→「刷新」就能同步最新数据。
如果你非要用函数实现,可以用SUMIFS(多条件求和):先手动列出所有唯一的Date和item组合(比如在E列放日期,F列放项目),然后在G列输入公式:=SUMIFS($C$2:$C$12, $A$2:$A$12, E2, $B$2:$B$12, F2)
下拉填充就能得到结果,但这种方法需要先整理唯一组合,远不如数据透视表方便。
内容的提问来源于stack exchange,提问作者Hello there




