如何在 Excel 中确定二月第一个星期一作为第一天的周数

如何在 Excel 中确定二月第一个星期一作为第一天的周数

我有一个计算周数的要求,它与财政周非常相似,但周数计算必须从二月的第一个星期一开始。一周从星期一开始,到星期日结束。

例如 - 2020/02/03(mm/dd/yyyy,即 2020 年 2 月 3 日)应该是 2020 年第一个财政周的第一天,即 2 月的第一个星期一是开始日期。

我知道有一些解决方案,我们假设 2 月 1 日等同于 1 月 1 日来开始计算财政周,但是在这种情况下,要求从 2 月第一个星期一开始。

2020 年 2 月 1 日、2020 年 2 月 2 日将是 2019 年财政周第 53 周,而 2020 年 2 月 3 日将是 2020 年财政周第 1 周。

=WEEKNUM(A3-31,10+WEEKDAY(DATE(YEAR(A3-31),1,2),2))

使用更新后的公式,应将 2020 年 12 月 17 日计算为 46(上述公式将其计算为 47),而 2020 年 6 月 14 日应计算为 19。

答案1

利用LETOffice 365 中的公式我们可以使用:

=LET(x,DATE(YEAR(A3),2,7)-WEEKDAY(DATE(YEAR(A3),2,1)-1,3),y,DATE(YEAR(A3)-1,2,7)-WEEKDAY(DATE(YEAR(A3)-1,2,1)-1,3),z,IF(A3<x,y,x),WEEKNUM(A3-(z-DATE(YEAR(z),1,1)),10+(WEEKDAY(DATE(YEAR(z),1,1),2))))

没有它:

=IF(A3<DATE(YEAR(A3),2,7)-WEEKDAY(DATE(YEAR(A3),2,1)-1,3),WEEKNUM(A3-(DATE(YEAR(A3)-1,2,7)-WEEKDAY(DATE(YEAR(A3)-1,2,1)-1,3)-DATE(YEAR(A3)-1,1,1)),10+WEEKDAY(DATE(YEAR(A3)-1,1,1),2)),WEEKNUM(A3-(DATE(YEAR(A3),2,7)-WEEKDAY(DATE(YEAR(A3),2,1)-1,3)-DATE(YEAR(A3),1,1)),10+WEEKDAY(DATE(YEAR(A3),1,1),2)))

我们需要使用不同的基准日期,即第二部分

答案2

这是二月的第一个星期一(假设这是在 B3):

=DATE(YEAR(A3),2,1)+MOD(8-WEEKDAY(DATE(YEAR(A3),2,1),2),7)

那么财政周是

=WEEKNUM(A3,2)-weeknum(B3,2)+1

这是相当万无一失的,但又足够简单。

相关内容