Answers:
您的公式没有错,但是也许这不是您要使用的公式。还有另一个Excel公式:
=WEEKNUM(serial_num, [return_type])
这将返回您期望获得的结果。但是,您应该首先检查哪种类型的星期数更适合您的应用程序。
让我进一步解释:
该ISOWEEKNUM(日期)函数的工作原理的基础上,每周总是从上周一结束在星期天,然后设置标准,今年的第一周是一周包含在本周一年的第一个星期四。这意味着可以将上一年的最后几天标记为下一年的第1周。
该WEEKNUM(日期,START_DAY)功能对包含1月1日因此,01月为1周的第一天,默认情况下,本周开始计数,新周周日开始使周后,01 2点开始的第一个星期日一月。您可以使用函数中的第二个参数更改开始日期。换句话说,如果1月1日为星期六,并且使用默认的开始日期,则第一周可以有1天。<-这是WEEKNUM()函数背后的关键理解。
我创建了一个小电子表格,其中包含您的日期值,并添加了一些其他电子表格来演示两者之间的区别:
请注意,不仅是2018年,一年中的最后一天是明年的第一周。ISOWEEKNUM()函数可以正常工作,只是对第一周的开始时间有不同的解释。
另一种看待这种情况的方式是查看跨越一月一日的一天中的两个函数:
在2015年,一月的第一天是星期四。因此,ISOWEEKNUM()周函数包括12月的最后3天,而WEEKNUM()函数从1月1日的周开始,但默认开始的Day of Sunday在第一周只有3天。
我希望这可以解释差异。
没错,因为2018年12月31日是星期一。
如果12月31日是星期一,星期二或星期三,则是第二年的第01周。如果是星期四,则是在该年的第53周刚刚结束;如果在星期五是第52周(如果刚结束的年份是is年则是53);如果是在周六或周日,则是在该年度的第52周刚刚结束。