Excel 根据日期按月汇总公式

实际中很多数据按发生日期记录的,有时需要根据日期,按月汇总对应的记录。这种时候需要将日期转换为月,但是普通的 SUMIF 函数中不能直接使用其他函数转换日期。

本篇介绍使用 SUMPRODUCT 函数根据日期按月汇总数据。

问题

现有以下数据,某一公司每天的销售额,要求根据左侧日期,对2月总销售额进行汇总。

 

公式思路

  1. SUMPRODUCT 函数内可以用其他方法对一列数据进行转换;
  2. 根据要求,需要将日期转换为月,因此使用 MONTH 函数
  3. 转换后的值与指定月比较,相等返回 TRUE,否则返回 FALSE;
  4. 使用双减(–)符号把逻辑值转换成 0、1;
  5. 利用 SUMPRODUCT 函数的特性,比较结果(0、1值)与求和列相乘,得到值 1 对应数据之和。

 

通用公式

根据以上思路,写出按月汇总通用公式如下:

=SUMPRODUCT(--(MONTH(日期列)=月)*求和列)

本例中,具体的公式如下:

=SUMPRODUCT(--(MONTH(B3:B11)=B15)*C3:C11)

 

相关公式

根据上述思路,对公式稍加更改,使用 YEAR 函数DAY 函数,就可以写出按年汇总、按天汇总公式。

按年汇总通用公式如下:

=SUMPRODUCT(--(YEAR(日期列)=年)*求和列)

按天汇总通用公式如下:

=SUMPRODUCT(--(DAY(日期列)=天)*求和列)

 

转载注明:文章转载自「懒人Excel - www.lanrenexcel.com

您可能还喜欢...

订阅评论
提醒
18 评论
最新
最旧 最多投票
内联反馈
查看所有评论
晴晴*
3 月 前

往下一拉 全部错位了

123
9 月 前

一个透视表解决的问题,为什么要搞这么复杂

琳。。。。
1 年 前

有多列日期及金额需要统计按年按月统计金额汇总的,只能是一列写一个函数吗?还有第二种写法能求多列按年月/条件汇总出数据吗???

rcy
2 年 前

按年汇总和按天汇总的公式中,应该分别是“=年”,和“=天”才对吧?

哈哈哈
2 年 前

双减符号是用来?

是我你大哥
3 年 前

越来越觉得不用vba也能做出来更强的表了

ppp
3 年 前

1月算不准怎么办啊?

ppp
3 年 前
回复给  懒人Excel

不好意思,数据贴不上。
原题假如数据选择3-12行,求1月份数据时,会把第12行(无数据行)算到1月份而导致错误。
=SUMPRODUCT(–(MONTH(B3:B12)=B15)*C3:C11)

Never
1 年 前
回复给  懒人Excel

我觉得,除了MONTH前少了一个减号之外,还有个问题,就是日期列是B3:B12,但是你求和列只是C3:C11,所以可能会出现错误,要把求和列和日期列的行数对应上,也就是将求和列改为C3:C12

嗯哼*
3 年 前

18
0
希望看到您的想法,请您发表评论x