Excel weeknum 函数返回错误的星期

Sta*_*yst 6 excel

问题如标题。

我有一个单元格“D4”,其中包含日期“09/07/2016”。相邻单元格的公式为“=weeknum(D4,1)”。这个函数的输出是“28”。但在周日至周六的基础上,7 月 9 日星期六不在第 28 周,而是在第 27 周。

我认为这可能与周六/周日以及一周的开始和结束时间等有关,所以我尝试了上周的多个不同日期 - 第 4 日星期一、第 5 日星期二、第 6 日星期三等。在每种情况下, “weeknum”返回值“28”。

我只注意到了这个问题,因为我有一个宏,它使用带有周数的单元格的值来查找我们的客户团队每周保存的电子表格。由于他们已经 - 正确地 - 将电子表格保存为“第 27 周”,因此它不起作用。我最初认为客户团队错了,但我在网上查了一下,他们是正确的。

这怎么会发生?Excel 肯定不会出错,我一定是犯了某种错误?

我知道 Excel 在第 53 周和第 1 周开始和结束时不遵循 ISO 标准存在问题,但我不知道这会如何影响年中的一周。

我确实想到这个问题可能与英国与美国的日期格式有关。但是,当然,6 月 7 日也不在第 28 周。

Axe*_*ter 8

这一切都记录在WEEKNUM 中

有两个系统用于此功能:

系统 1 包含 1 月 1 日的那一周是一年中的第一周,并编号为第 1 周。

系统 2 包含一年中第一个星期四的那一周是一年的第一周,编号为第 1 周。该系统是 ISO 8601 中规定的方法,通常称为欧洲周编号系统。

句法

WEEKNUM(serial_number,[return_type])

Return_type  Week begins on  System 
...
21           Monday          2
Run Code Online (Sandbox Code Playgroud)

因此=WEEKNUM("09/07/2016",21)将按照 ISO 8601 中的定义进行计算,因为 Return_type 21 是系统 2 中唯一的一个。


等周数

=ISOWEEKNUM("09/07/2016")

也会这样做。