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

Excel中基于年份自动扩展/收缩周日周日期的函数设置

按输入年份自动生成全年周日并动态适配的Excel实现方案

核心需求实现:动态生成全年周日日期

假设年份输入在C1单元格,要在A列从A2开始自动生成该年所有周日的日期,直接用以下动态数组公式(适用于Excel 365/2021及以上版本):

=LET(
    目标年份, C1,
    首个周日, DATE(目标年份,1,1)+(7-WEEKDAY(DATE(目标年份,1,1),1))%7,
    周日总数, YEAR(DATE(目标年份,12,31))-YEAR(首个周日)+(WEEKDAY(DATE(目标年份,12,31),1)=1),
    SEQUENCE(周日总数,,首个周日,7)
)

公式逻辑:

  • 先算出目标年份的第一个周日日期
  • 统计该年一共有多少个周日
  • 用SEQUENCE生成从首个周日开始、每周加7天的日期序列,会自动根据年份扩展或收缩行数(比如平年52个周日,闰年可能53个)

如果是旧版Excel(无动态数组),可以用数组公式(输入后按Ctrl+Shift+Enter),然后下拉到足够多的行:

=IF(DATE(C1,1,1)+(7-WEEKDAY(DATE(C1,1,1),1))%7+7*(ROW(A1)-1)<=DATE(C1,12,31),DATE(C1,1,1)+(7-WEEKDAY(DATE(C1,1,1),1))%7+7*(ROW(A1)-1),"")

超出目标年份的单元格会显示空值,视觉上自动收缩。

关联月/季/年汇总的动态适配

如果捐赠数据在B列(对应A列的周日),要做自动适配的汇总:

  1. 月度汇总:在D2输入=UNIQUE(MONTH(A#))(自动列出该年所有有周日的月份),E2输入=SUMIFS(B#,MONTH(A#),D2),公式会自动溢出计算每个月的捐赠总额。
  2. 季度/年度汇总:用SUMIFS结合ROUNDUP(MONTH(A#)/3,0)计算季度总额,或者直接用SUM(B#)计算年度总额,都会自动跟随日期范围变化。
  3. 更省心的方案:数据透视表
    • 选中A:B列,插入数据透视表
    • 将A列日期拖到「行」区域,右键分组选择「月、季度、年」
    • 将捐赠数据拖到「值」区域设置为求和
    • 当C1年份更新,A列日期自动刷新后,右键透视表点击「刷新」,汇总数据就会自动适配新的日期范围。

注意事项

  • 动态数组公式仅支持Excel 365/2021及以后版本,旧版只能用数组公式+下拉的方式
  • 确保C1输入的是有效年份(比如2024),公式会自动处理平闰年月的周日数量差异

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 21:43:10