Excel 根据日期按月汇总公式
实际中很多数据按发生日期记录的,有时需要根据日期,按月汇总对应的记录。这种时候需要将日期转换为月,但是普通的 SUMIF 函数中不能直接使用其他函数转换日期。
本篇介绍使用 SUMPRODUCT 函数根据日期按月汇总数据。
问题
现有以下数据,某一公司每天的销售额,要求根据左侧日期,对2月总销售额进行汇总。
公式思路
- SUMPRODUCT 函数内可以用其他方法对一列数据进行转换;
- 根据要求,需要将日期转换为月,因此使用 MONTH 函数;
- 转换后的值与指定月比较,相等返回 TRUE,否则返回 FALSE;
- 使用双减(–)符号把逻辑值转换成 0、1;
- 利用 SUMPRODUCT 函数的特性,比较结果(0、1值)与求和列相乘,得到值 1 对应数据之和。
通用公式
根据以上思路,写出按月汇总通用公式如下:
=SUMPRODUCT(--(MONTH(日期列)=月)*求和列)
本例中,具体的公式如下:
=SUMPRODUCT(--(MONTH(B3:B11)=B15)*C3:C11)
相关公式
根据上述思路,对公式稍加更改,使用 YEAR 函数和 DAY 函数,就可以写出按年汇总、按天汇总公式。
按年汇总通用公式如下:
=SUMPRODUCT(--(YEAR(日期列)=年)*求和列)
按天汇总通用公式如下:
=SUMPRODUCT(--(DAY(日期列)=天)*求和列)
转载注明:文章转载自「懒人Excel - lanrenexcel.com」
本文标题:Excel 根据日期按月汇总公式
按年汇总和按天汇总的公式中,应该分别是“=年”,和“=天”才对吧?
感谢反馈,已修正
双减符号是用来?
双减号使用来将其他非数字类型数据转换为数字
越来越觉得不用vba也能做出来更强的表了
1月算不准怎么办啊?
贴一下你的数据和写的公式看一看
不好意思,数据贴不上。
原题假如数据选择3-12行,求1月份数据时,会把第12行(无数据行)算到1月份而导致错误。
=SUMPRODUCT(–(MONTH(B3:B12)=B15)*C3:C11)
我看了一下,是不是MONTH前少加了一个-号?
棒