You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在含年份的Excel数组中按指定日月统计跨年度日期出现次数

跨年度统计特定日月的出现次数解决方法

核心思路

跳过日期的年份部分,仅匹配月份和日期的数值,就能实现跨年度统计需求,无需修改原有表格的年份数据或E4的单元格格式。

单年度统计改进公式

将原有的完整日期匹配逻辑,改为提取月、日进行匹配,公式如下:

=SUMPRODUCT((MONTH('2022'!A$2:A$38)=MONTH(E4))*(DAY('2022'!A$2:A$38)=DAY(E4)))
  • MONTH(单元格):提取日期的月份数值(如11月返回11)
  • DAY(单元格):提取日期的日数值(如11日返回11)
  • 两个条件相乘后,SUMPRODUCT会自动统计同时满足月、日匹配的行数。

跨年度汇总公式

如果需要一次性统计2019-2022四个年度的总次数,有两种实现方式:

方式1:多表公式累加(直观易维护)

=SUMPRODUCT((MONTH('2019'!A$2:A$38)=MONTH(E4))*(DAY('2019'!A$2:A$38)=DAY(E4)))
+SUMPRODUCT((MONTH('2020'!A$2:A$38)=MONTH(E4))*(DAY('2020'!A$2:A$38)=DAY(E4)))
+SUMPRODUCT((MONTH('2021'!A$2:A$38)=MONTH(E4))*(DAY('2021'!A$2:A$38)=DAY(E4)))
+SUMPRODUCT((MONTH('2022'!A$2:A$38)=MONTH(E4))*(DAY('2022'!A$2:A$38)=DAY(E4)))

注意:每个年度的日期范围(如A$2:A$38)如果不一致,需对应调整。

方式2:INDIRECT批量引用(适合年份连续的场景)

如果各年度工作表名称是规范的年份数字(如2019、2020),可以用INDIRECT函数批量生成表引用,简化公式:

=SUMPRODUCT(--(MONTH(INDIRECT("'"&ROW(2019:2022)&"'!A$2:A$38"))=MONTH(E4)),--(DAY(INDIRECT("'"&ROW(2019:2022)&"'!A$2:A$38"))=DAY(E4)))
  • 旧版Excel需按Ctrl+Shift+Enter作为数组公式执行,新版Excel动态数组功能无需此操作。
  • 若年份不连续,可将ROW(2019:2022)替换为{2019,2020,2021,2022}。

额外说明

  • E4单元格无需修改格式,公式直接读取其底层的月、日数值,不受显示样式影响。
  • 若日期列存在空白单元格,公式会自动忽略,不影响统计结果。

内容的提问来源于stack exchange,提问作者Julian Canny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:50:23