有关年份的动态周数

时间:2019-05-21 09:40:24

标签: excel vba excel-formula

我试图每月检索一年中的第几周,听起来像是一个愚蠢的问题,但这就是我想要的样子:

enter image description here

对于单元格C1,我已经基于B1 => =TEXT(TODAY();"[$-0809]mmmm")创建了一个下拉列表,并且HLookup函数还检索了Weeks(C2:C6)。

我的想法是,我只需要一个动态的Week格式,例如C1:C6,但是我没有找到其他的使用方法,我还需要将其转换为 VBA 强>。有没有更简单的方法?我可以使用您的提示/想法。 在每月导出的新工作表上,我需要显示每个月的4/5周,每个月都不相同。

1 个答案:

答案 0 :(得分:3)

使用Weeknum函数:=WEEKNUM(DATE(2019,3,1),2)将返回该月的第一周,而=WEEKNUM(EOMONTH(DATE(2019,3,1),0),2)将返回该月的最后一周。

所以放……

  • 在B2 =WEEKNUM(DATE(YEAR(TODAY()),$B$1,1),2 )
  • 在B3 =IFERROR(IF(B2+1<=WEEKNUM(EOMONTH(DATE(YEAR(TODAY()),$B$1,1),0),2 ),B2+1,""),"")中并将其下拉以得到以下结果:

enter image description here

如果您现在更改B1中的月份号,它将自动计算剩余时间:

请注意,官方周编号系统不同,而最常见的是ISO week date。这意味着1月1日并不总是第1周!