Excel周数不一致的结果


18

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

电子表格摘录

但是,我注意到该功能在2018年似乎崩溃了,当它将前一年的第52周或第53周显示为第31周时,它将2018年12月31日的周数显示为第1周(这对我来说很有意义) 。

除此功能的日期外,没有其他参数,因此看起来非常简单。有什么想法如何使它起作用?


4
一周计为一年的一部分,多数是本周的是英寸
CodesInChaos

Answers:


33

您的公式没有错,但是也许这不是您要使用的公式。还有另一个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天。

我希望这可以解释差异。


1
谢谢你们的反馈。这两个答案都有助于理解为什么收到的答案是正确的。实际上,我需要在电子表格中使用weeknum(),因此我选择了@Clinton作为可接受的答案。这使我对功能的区别有了清楚的了解。
WPDavid

17

当该函数显示2018年12月31日的星期数为第1周时,该函数似乎在2018年分解

没错,因为2018年12月31日是星期一。

如果12月31日是星期一,星期二或星期三,则是第二年的第01周。如果是星期四,则是在该年的第53周刚刚结束;如果在星期五是第52周(如果刚结束的年份是is年则是53);如果是在周六或周日,则是在该年度的第52周刚刚结束。

来源ISO周日期-维基百科


我责怪上海
Raystafarian
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.