周数和年份组合

问题描述 投票:0回答:2

过去在Excel中的周数和年份中已经提出了几个问题,但是,我有一个特定的问题,我无法找到答案。

我试图以YYWW的格式获得年份和周数的组合,例如1752或1801,基于具有日期的列,如下所示:

Date         Year  Week
01-01-2018   18    01
02-01-2018   18    01
...
31-12-2018   18    01

只需在日期使用YEAR函数确定年份,并使用日期上的ISOWEEKNUM函数确定周数。然后进行一些进一步的处理,根据年份和周数对数据进行求和,问题是2018年12月31日的数据也被考虑在2018年的第1周,而12月31日显然是不是在2018年的第1周,而是在2019年的第1周。

所以问题是,我怎么能“修复”这个,所以如何让Excel给我19和201年的31和201?理想情况下,我正在寻找一个不涉及任何VBA的解决方案。

任何帮助深表感谢!

excel
2个回答
3
投票

对于ISO周数,每周的星期四将始终在“isoweekyear”内,因此对于任何日期,要获得正确的年份,就足以找到该周的星期四。你可以这样做:

=YEAR(A1+3-WEEKDAY(A1;3))


0
投票

所以最后,感谢Nick和ImaginaryHuman072889的反馈,我修复了这样的:

=YEAR(A1)+IF(AND(MONTH(A1)=12;ISOWEEKNUM(A1)=1);1;0)+IF(AND(MONTH(A1)=1;ISOWEEKNUM>=52);-1;0)

我倾向于不为了可读性而嵌套IF语句,因为它们无论如何都不会同时导致TRUE

© www.soinside.com 2019 - 2024. All rights reserved.