Excel跨年周数计算异常,如何修正第53周归属避免数据混淆?
Excel ISO周跨年归属修正方案
问题根因
你当前公式的错误来自于直接用YEAR(A2)取日期的公历年,而ISO周规则下,年初部分日期所属的周实际归属于上一个公历年的ISO年,因此需要将公历年替换为ISO周对应的年份计算。
方案1:Excel 365 / 2021 / 最新版WPS(最简公式)
直接使用内置的ISOYEAR、ISOWEEKNUM函数,完全匹配ISO周计算规则,无需额外逻辑:
=IF(A2<>"",ISOYEAR(A2)&" - "&RIGHT("0"&ISOWEEKNUM(A2),2),"")
方案2:全Excel版本通用公式(无版本限制,无需硬编码)
如果你的办公软件没有上述新函数,使用下面的通用公式即可,基于ISO周的数学特性编写,永久生效无需每年调整:
=IF(A2<>"",YEAR(A2 - WEEKNUM(A2,21) + 4)&" - "&RIGHT("0"&WEEKNUM(A2,21),2),"")
效果验证
输入2021年1月1日~2021年1月3日,公式会自动返回2020 - 53,后续所有跨年周的归属都会自动计算正确,不会出现跨年周归属错误的问题。
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

