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

Excel中按多条件为2022-2024日期分配周数的问题求助

自定义周数分配公式修正(针对2022-2024年日期)

需求规则

  • 第1周从当年第一个周日开始
  • 当年第一个周日之前的日期,统一分配为上一年的第52周
  • 每年仅保留52周,无第53周

示例验证

  • 2022年1月1日(周六)→ 2021年第52周
  • 2022年1月2日(周日)→ 2022年第1周
  • 2022年12月31日(周六)→ 2022年第52周
  • 2023年1月1日(周日)→ 2023年第1周

原公式问题

以下公式(A列为日期,格式yyyy-mm-dd)能正确处理2022年初的日期,但会错误将2023年1月1日判定为第53周:

if(a1<date(year(a1),1,1)+(8-weekday(date(year(a1),1,1),1)), weeknum(date(year(a1),1,1)-weekday(date(year(a1),1,1),1)+1,1),weeknum(a1-weekday(a1,1),1))

修正后的公式

带年份的完整周数格式

=IF(A1<DATE(YEAR(A1),1,1)+(8-WEEKDAY(DATE(YEAR(A1),1,1),1)),YEAR(A1)-1&"年第52周",YEAR(A1)&"年第"&MIN(INT((A1-(DATE(YEAR(A1),1,1)+(8-WEEKDAY(DATE(YEAR(A1),1,1),1))))/7)+1,52)&"周")

仅返回周数数值

=IF(A1<DATE(YEAR(A1),1,1)+(8-WEEKDAY(DATE(YEAR(A1),1,1),1)),52,MIN(INT((A1-(DATE(YEAR(A1),1,1)+(8-WEEKDAY(DATE(YEAR(A1),1,1),1))))/7)+1,52))

公式说明

  1. 前置判断:先计算当年第一个周日的日期,若当前日期早于该日期,直接返回上一年第52周
  2. 周数计算:对符合当年周数范围的日期,计算其与第一个周日的间隔天数,转换为周数后用MIN函数限制最大值为52,确保每年仅保留52周

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 13:57:25