2016-07-14 290 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