计算excel中年份和周数的月份

Pri*_*cey 10 excel date week-number

在Excel 2007中,我有一个年份编号和周编号,我想计算月份编号.

问题在于,在我的情况下,每周的开始是星期一,因此有些星期将会重叠多年.

例子:

Year: 2012
Week 1 started: Monday 2nd January
Sunday 1st January was in week 52 of 2011
Run Code Online (Sandbox Code Playgroud)

所以给出以下内容:

Year: 2011
Week: 10
Run Code Online (Sandbox Code Playgroud)

我如何计算出第3周开始的第10周,因此第10周是第3个月.

感谢您的帮助.

bar*_*ini 24

你可以更简单地做到这一点.如果年份在A2,例如2012年,并且周数在,B2您可以使用此公式获得该周的开始日期

=DATE(A2,1,-2)-WEEKDAY(DATE(A2,1,3))+B2*7

格式为日期

......显然你可以用MONTH函数包装它来获得月份,即

=MONTH(DATE(A2,1,-2)-WEEKDAY(DATE(A2,1,3))+B2*7)

格式化结果单元格为一般

说明

以上查找上一年的上一个星期一的日期,然后添加周数*7以给出相关周的开始日期.

ISO周的第一天始终是12月29日至1月4日期间唯一的星期一,所以要找到该日期,我们可以在1月5日之前找到星期一.

要在任何日期之前找到星期一,您可以使用此通用公式

=date-WEEKDAY(date-2)

因此,如果日期是A2中显示的年份的1月5日,则相同

=DATE(A2,1,5)-WEEKDAY(DATE(A2,1,3))

.....但这给了今年的第一个星期一,所以如果我想要去年的最后一个星期一,我可以减去7 - 这样做的一种方法是从5减去7得到-2因此:

=DATE(A2,1,-2)-WEEKDAY(DATE(A2,1,3))


Pau*_* B. 4

我建议采用以下方法

  • 确定 1 月 1 日的 (ISO) 周(参见本页)[在单元格C4中]

    =INT((B4-DATE(YEAR(B4-WEEKDAY(B4-1)+4),1,3)+WEEKDAY(DATE(YEAR(B4-WEEKDAY(B4-1)+4),1,3))+5)/7)(假设 B4 =DATE([Year],1,1)

  • 计算第 1 周开始的日期 [在单元格D4中]

    =IF(C4=1,B4-WEEKDAY(B4,3),B4+7-WEEKDAY(B4,3))

  • 确定相关周的星期一和相应的月​​份

    =MONTH(D4+7*([Week]-1))