过去在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的解决方案。
任何帮助深表感谢!
对于ISO
周数,每周的星期四将始终在“isoweekyear”内,因此对于任何日期,要获得正确的年份,就足以找到该周的星期四。你可以这样做:
=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
。