KutoolsforOffice — 一套方案,五大工具。事半功倍。

在 Excel 中按年、月统计日期数量

作者Xiaoyang修改日期

在 Excel 工作表操作中,您可能会需要统计某一年份或某一月份内的日期单元格数量,如下图所示。为实现这一需求,您可以结合使用 SUMPRODUCT、YEAR 和 MONTH 函数,通过自定义公式,轻松统计出属于指定年份或月份的日期数量。

doc-count-dates-by-year-1


统计给定年份的日期数量

若需统计某年内的日期数量,可将 SUMPRODUCT 与 YEAR 函数结合使用,通用语法如下:

=SUMPRODUCT(--(YEAR(date_range)=year))
  • date_range:包含需要统计日期的单元格列表;
  • year:指您要统计的年份,可以是具体的数值或单元格引用。

1. 在空白单元格中输入或粘贴以下公式,即可立即获得结果:

=SUMPRODUCT(--(YEAR($A$2:$A$14)=C2))

注意:在此公式中,A2:A14 为包含日期的单元格区域,C2 为您要统计的目标年份。

2. 接着,向下拖动填充柄应用公式,即可按年份统计对应的日期数量,如下示例截图所示:

doc-count-dates-by-year-2


公式说明:

=SUMPRODUCT(--(YEAR($A$2:$A$14)=C2))

  • YEAR($A$2:$A$14)=C2:YEAR 函数会从日期列表中提取年份,结果为:{2020;2019;2020;2021;2020;2021;2021;2021;2019;2020;2021;2019;2021};
    接着,将每个年份与单元格 C2 的年份进行比较,返回由 TRUE 和 FALSE 组成的数组:{FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}。
  • --(YEAR($A$2:$A$14)=C2)=--{FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}:这里通过双负号将 TRUE 转换为 1,FALSE 转换为 0,从而得到如下数组:{0;1;0;0;0;0;0;0;1;0;0;1;0}。
  • SUMPRODUCT(--(YEAR($A$2:$A$14)=C2))=SUMPRODUCT({0;1;0;0;0;0;0;0;1;0;0;1;0}):最后,SUMPRODUCT 函数会对数组中的所有项进行求和,返回结果为 3.

统计给定月份的日期数量

如果您需要根据某一个月统计日期数量,可以结合 SUMPRODUCT 和 MONTH 函数,常规语法如下:

=SUMPRODUCT(--(MONTH(date_range)=month))
  • date_range:包含需要统计日期的单元格列表;
  • month:表示您需要统计的月份,可以为具体的数值或单元格引用。

1. 在空白单元格输入或粘贴下方公式以获得结果:

=SUMPRODUCT(--(MONTH($A$2:$A$14)=C2))

注意:在此公式中,A2:A14 为存放日期的单元格区域,C2 为您要统计的月份。

2. 向下拖动填充柄应用公式后,您即可按指定月份获取日期数量,如下截图所示:

doc-count-dates-by-year-3


公式说明:

=SUMPRODUCT(--(MONTH($A$2:$A$14)=C2))

  • MONTH($A$2:$A$14)=C2:MONTH 函数可从日期列表中提取月份,结果为:{12;3;8;4;8;12;5;5;10;5;7;12;5}。
    接着,将每个提取出的月份与单元格 C2 的月份进行比较,返回由 TRUE 和 FALSE 组成的数组:{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE}。
  • --(MONTH($A$2:$A$14)=C2)= --{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE}:双负号可将 TRUE 转换为 1,FALSE 转换为 0,因此得到如下数组:{0;0;0;0;0;0;1;1;0;1;0;0;1}。
  • SUMPRODUCT(--(MONTH($A$2:$A$14)=C2))=SUMPRODUCT({0;0;0;0;0;0;1;1;0;1;0;0;1}):此时,SUMPRODUCT 函数会对数组中的所有数据进行求和,最终结果为 4.

按年份和月份统计日期数量

如果您需要同时按照指定的年份和月份统计日期数量(例如,想要了解 2021 年 5 月的日期总数),可以参考以下方法。

doc-count-dates-by-year-4

此场景下,可以将 SUMPRODUCT、MONTH 和 YEAR 函数结合,实现统计,常用语法如下:

=SUMPRODUCT((MONTH(date_range)=month)*(YEAR(date_range)=year))
  • date_range:包含需要统计日期的单元格列表;
  • month:表示您要统计的月份的值或单元格引用;
  • year:表示您要统计的年份的值或单元格引用。

请在空白单元格内输入或复制以下公式以输出结果,然后按 Enter 键计算查看结果,如下截图:

=SUMPRODUCT((MONTH($A$2:$A$14)=D2)*(YEAR($A$2:$A$14)=C2))

注意:在上述公式中,A2:A14 为包含日期的单元格区域,D2 为指定的月份,C2 为需要统计的年份。

doc-count-dates-by-year-5


涉及的相关函数:

  • SUMPRODUCT
  • SUMPRODUCT 函数可用于对两列或多列(或数组)中的对应元素进行相乘,并最终计算所有乘积的总和。
  • MONTH
  • Excel 的 MONTH 函数可从日期中提取月份,并以 1 到 12 的整数形式显示。
  • YEAR
  • YEAR 函数可根据指定日期返回四位数字格式的年份。

更多相关文章:

  • 统计两个值/日期之间的单元格数量
  • 您是否曾尝试在 Excel 中统计或获取介于两个指定数字或日期之间的单元格数量,如下图所示?本文将为您介绍几种实用公式,助您轻松实现这一需求。
  • 统计包含特定文本的单元格数量
  • 假设您有一列文本字符串,需要统计包含特定内容的单元格数量。在这种情况下,使用 COUNTIF 函数时,可以将通配符(*)作为条件,表示任意文本或字符。本文将为您介绍如何通过公式在 Excel 中解决这一问题。

这款最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

🤖KUTOOLS AI 助手:基于数据分析的变革创新智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮显示或标记重复项  |  删除空白行  |  合并列或单元格且不丢失数据  |  不使用公式的四舍五入……
超级 VLookup多条件查询  |  多值返回  |  跨多工作表  |  模糊查找……
高级下拉列表轻松下拉列表  |  依赖下拉列表  |  多选下拉列表……
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的显示状态  |比较列与选择相同/不同单元格……
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿和表管理器|资源库(自动文本)|  日期提取  |  汇总工作表  |  加密/解密单元格  |  按列表群发邮件  |  超级筛选  |  特殊筛选(筛选粗体单元格/斜体/删除线……) ......
顶级 15 工具组12 文本工具添加文本删除特定字符……)|  50+ 图表 类型甘特图……)|  40+ 实用公式基于生日计算年龄……)|  19 插入工具插入二维码按路径插入图片……)|  12 转换工具小写金额转大写汇率转换……)|  7 合并和拆分工具高级合并行拆分 Excel 单元格……)|……以及更多
在您的首选语言中使用 Kutools——支持英语、西班牙语、德语、法语、中文以及 40+ 种其他语言!

Kutools for Excel 拥有超过 300 项功能,让您的需求一键轻松实现……


Office Tab —— 让 Microsoft Office(包括 Excel)支持标签式阅读与编辑

  • 一秒即可切换数十个已打开的文档!
  • 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
  • 查看和编辑多个文档时,工作效率提升 50%。
  • 为 Office(包括 Excel)引入高效标签页,让您同样畅享如 Chrome、Edge 和 Firefox 般的便捷体验。