繁体   English   中英

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

[英]calculate the month from the year and week number in excel

在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个月。

感谢您的帮助。

你可以更简单地做到这一点。 如果年份在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月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))

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM