过去在Excel的Weeknumber和Year中已经提出了几个问题,但是,我有一个特定的问题,我无法找到答案。
我试图以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& 01 for 31-12-2018?理想情况下,我正在寻找一种不涉及任何VBA的解决方案。
非常感谢任何帮助!
答案 0 :(得分:3)
对于ISO
周数字,每周的星期四将始终在“isoweekyear”内,因此对于任何日期,要获得正确的年份,就足以找到该年份一周的星期四。你可以这样做:
=YEAR(A1+3-WEEKDAY(A1;3))
答案 1 :(得分: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
。