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

时间:2012-06-01 09:24:31

标签: excel date week-number

在Excel 2007中,我有一个年份编号和周编号,我想编制月份编号。

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

示例:

Year: 2012
Week 1 started: Monday 2nd January
Sunday 1st January was in week 52 of 2011

所以给出以下内容:

Year: 2011
Week: 10

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

感谢您提供任何帮助。

3 个答案:

答案 0 :(得分: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))

答案 1 :(得分:4)

我建议采用以下方法

  • 确定1月1日的(ISO)周(参见this page)[在单元格 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))

答案 2 :(得分:0)

ISO周总是包含1月4日,所以让我们从星期一开始它的工作日(显然&#34;年&#34;是年份的单元格):

WEEKDAY(DATE(year;1;4))

这是我们需要从该日期返回以查找星期一(加一)的天数

DATE(year;1;4)-WEEKDAY(DATE(year;1;4))+1

所以现在我们只需依靠......

DATE(year;1;4)-WEEKDAY(DATE(year;1;4))+1+weeknumber*7