Excel周数不一致结果

WPD*_*vid 19 date microsoft-excel microsoft-excel-2010

我正在使用包含特定日期的周数的电子表格。经过一番研究,我发现了一个可以应用于日期列的函数 ISOWEEKNUM() ,这似乎工作正常。以下链接显示了该电子表格的摘录:

电子表格摘录

但是,我注意到该函数似乎在 2018 年崩溃了,它显示 31/12/2018 的周数为第 1 周,而在前几年它总是显示为第 52 周或第 53 周(这对我来说很有意义) .

这个函数除了日期没有其他参数,所以它看起来相当简单。任何想法如何让这个工作?

Cli*_*ton 34

您的公式没有任何问题,但可能不是您要使用的公式。还有另一个Excel公式:

=WEEKNUM(serial_num, [return_type])
Run Code Online (Sandbox Code Playgroud)

这将返回您期望获得的结果。但是,您应该首先检查哪种类型的周数更适合您的应用程序。

让我进一步解释:

ISOWEEKNUM(日期)函数的工作原理的基础上,每周总是从上周一结束在星期天,然后设置标准,今年的第一周是一周包含在本周一年的第一个星期四。这意味着前一年的最后几天可以标记为下一年的第 1 周。

WEEKNUM(日期,START_DAY)功能对包含1月1日因此,01月为1周的第一天,默认情况下,本周开始计数,新周周日开始使周后,01 2点开始的第一个星期日一月。您可以使用函数中的第二个参数更改开始日期。换句话说,如果 1 月 1 日是星期六并且使用默认开始日期,则第一周可以有 1 天。<- 这是 WEEKNUM() 函数背后的关键理解。

我创建了一个包含您的日期值的小电子表格,并添加了更多内容来演示差异:

在此处输入图片说明

请注意,不仅是 2018 年,一年中的最后一天都在明年的第一周。ISOWEEKNUM() 函数工作正常,只是对第一周开始的时间有不同的解释。

另一种看待这一点的方法是查看跨越 1 月 1 日的一天内的 2 个函数:

在此处输入图片说明

2015 年,一月一日是星期四。因此,ISOWEEKNUM() 周函数包括 12 月的最后 3 天,而 WEEKNUM() 函数从 1 月 1 日开始一周,但对于默认的周日开始日,第一周只有 3 天。

我希望这可以解释差异。


Dav*_*ill 17

当该函数将 31/12/2018 的周数显示为第 1 周时,该函数似乎在 2018 年崩溃了

这是正确的,因为 2018 年 12 月 31 日是星期一。

如果 12 月 31 日是星期一、星期二或星期三,则为下一年的第 1 周。如果是星期四,则是刚结束的一年的第 53 周;如果在星期五,则在第 52 周(如果刚结束的年份是闰年,则为 53);如果在星期六或星期日,则是刚结束的一年的第 52 周。

来源ISO 周日期 - 维基百科