周数和年份组合

过去在Excel中有一些关于Weeknumber和Year的问题,但是我有一个具体的问题,我找不到答案。

我试图得到YYWW格式的年份和星期数的组合,例如基于带date的列的1752或1801,如下所示:

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

年份只是通过在date使用YEAR函数来确定的,并且使用date的ISOWEEKNUM函数来确定周数。 然后进行一些进一步的处理,按照年份和星期数汇总数据,问题是2018年12月31日的数据也是2018年第一周的数据,而12月31日是明显的而不是在2018年的第一周,而是在2019年的第1周。

所以问题是,我怎样才能“修复”这个问题,那么我怎样才能让Excel在19-12年间给我19&01? 理想情况下,我正在寻找一个不涉及任何VBA的解决scheme。

任何帮助深表感谢!

对于ISO周数,每周的周四将始终在“isoweekyear”之内,因此对于任何一个date,要获得正确的一年,就足以find那周的周四。 你可以这样做:

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

所以最后,感谢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