Excel weeknum函数返回错误的一周

问题与标题一样。

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

我认为这可能是星期六/星期天和周开始和结束等等,所以我尝试了多个不同的date,从上星期一到星期一,星期二到星期五,星期三到星期六等。在每种情况下, “weeknum”返回值“28”。

我只注意到这个问题,因为我有一个macros,它使用单元格的值和星期编号来寻找我们的帐户团队每周保存的电子表格。 因为他们已经正确地将电子表格保存为“第27周”,所以不起作用。 我最初以为账目组是错误的,但是我在网上查询,他们是正确的。

这怎么可能发生? 当然,Excel不可能是错误的,我一定是犯了某种错误?

我知道在第53周和第1周开始和结束的时候,Excel没有遵循ISO标准,但是我不明白这怎么会影响到一周中的一周。

我觉得这个问题可能与英国和美国的date格式有关。 但是,当然,6月7日也不在28周。

这一切都logging在WEEKNUM 。

有两个系统用于这个function:

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

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

句法

WEEKNUM(SERIAL_NUMBER,[return_type])

 Return_type Week begins on System ... 21 Monday 2 

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


ISOWEEKNUM

=ISOWEEKNUM("09/07/2016")

也将做到这一点。

=ISOWEEKNUM(a2)-1为我返回正确的星期,就像=WEEKNUM(a2,21)-1