2016-07-14 843 views
1

问题与标题一样。Excel weeknum函数返回错误周

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

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

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

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

我知道在第53周和第1周开始和结束时,Excel没有遵循ISO标准的问题,但我不明白这是如何影响周中的。

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

+0

我请参阅第28周开始于'7月3日,2016'和'7月9日结束,2016'一个'周日Saturday'基础上.. 。 –

+0

我的猜测是,excel需要1月1日作为第一周的下降时间,而你可能想从第一周开始计算(我不了解ISO标准)。如果是这样的话,每当1月1日在不完整的一周内,Excel会增加一周。 – NiH

+0

斯科特 - 有趣。为什么? http://week-number.net/calendar-with-week-numbers-2016.html http://www.epochconverter.com/weeks/2016 – Statsanalyst

回答

3

这一切都记录在WEEKNUM

有用于该功能两个系统:

系统1包含1月1日当周是今年 的第一周,并且被编号星期1

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

语法

WEEKNUM(SERIAL_NUMBER,[return_type])

Return_type Week begins on System 
... 
21   Monday   2 

如此以来Return_type 21在ISO 8601所定义=WEEKNUM("09/07/2016",21)将计算与系统2


唯一的一个

ISOWEEKNUM

=ISOWEEKNUM("09/07/2016")

也会这样做。

0

=ISOWEEKNUM(a2)-1返回正确的一周对我来说,同为=WEEKNUM(a2,21)-1