跳到主要內容跳到頁尾

星期幾與第幾週:WEEKDAY、WEEKNUM、ISOWEEKNUM 的 type 怎麼選

7 分鐘閱讀Lv.2 中級摘要與日期

整理 WEEKDAY 的 10 種 type、WEEKNUM 的週起始日與 21(ISO),以及 ISOWEEKNUM 在跨年那幾天的行為。附對照表、週末判斷、這個月第幾週,以及 ISO 年週代碼的寫法。

發布 更新

文章目錄

「這個日期是星期幾?」「這是今年的第幾週?」排班表、週報、每週銷量統計,都會用到這兩個問題。今天要整理的是 WEEKDAY、WEEKNUM 和 ISOWEEKNUM。

這三個函式本身都很短,難的是第二個參數 type:同一天在不同 type 下會得到不同的數字,而且週數的算法有兩套(Sheets 的 type 1/2 跟 ISO),跨年那幾天會差到一整年。這篇把每個 type 的結果都列成表,當工具書放著,需要的時候回來查。

把日期拆成年、月、日的 YEAR、MONTH、DAY 在 日期與時間入門 講過了,這邊不重講。

怎麼選

要的東西用哪個重點
星期幾(數字)WEEKDAY預設週日是 1,台灣習慣用 type 2(週一是 1)
一年的第幾週WEEKNUM要選週從哪天開始,1 月 1 日所在的那週是第 1 週
ISO 規則的第幾週ISOWEEKNUM週一起算,含該年第一個星期四的那週是第 1 週

後面的範例日期都用 2026/10/11,這天是週日,序號 46306。

星期幾

WEEKDAY

WEEKDAY 會把日期換成 1 到 7(type 3 是 0 到 6)的編號,代表星期幾。

語法:

  • 日期:要判斷的日期。
  • 類型:選填,決定哪一天是 1。不填就是 1,週日是 1、週六是 7。

2026/10/11 是週日,來看看各個 type 的結果:

type編號規則2026/10/11(週日)
1(預設)、17週日 = 1,週六 = 71
2、11週一 = 1,週日 = 77
3週一 = 0,週日 = 66
12週二 = 1,週一 = 76
13週三 = 1,週二 = 75
14週四 = 1,週三 = 74
15週五 = 1,週四 = 73
16週六 = 1,週五 = 72

先手算 type 2:週一 1、週二 2、週三 3、週四 4、週五 5、週六 6、週日 7,週日當然是 7。

Google 試算表公式
fx

週一為 1 的星期編號

=WEEKDAY(DATE(2026,10,11), 2)

你應該會得到 7!不填第二個參數的話:

Google 試算表公式
fx

預設 type 1,週日為 1

=WEEKDAY(DATE(2026,10,11))

結果是 1。

我個人幾乎都用 type 2,因為台灣的週一到週五是上班日,「編號大於 5 就是週末」這句話最好寫。type 12 到 16 這種從週二、週三開始算的,我沒在工作上用過,知道有就好。

type 3 是 0 到 6,不是 1 到 7,拿來當 INDEX、CHOOSE 的位置用的時候要小心差 1。

第幾週

WEEKNUM

WEEKNUM 回傳日期落在一年的第幾週,在 type 1、2、11 到 17 這幾種類型下,1 月 1 日所在的那一週一律是第 1 週;type 21(ISO 週)是例外,後面會看到。

語法:

  • 日期:要判斷的日期。
  • 類型:選填,決定每週從哪天開始。1(預設)和 17 是週日起算,2 和 11 是週一起算,12 到 16 依序是週二到週六起算,21 是 ISO 週(跟 ISOWEEKNUM 一樣)。

「1 月 1 日所在那週是第 1 週」這個規則有個後果:如果 1 月 1 日剛好是週五,那一週只有 2 天(週日起算時是週五、週六)或 3 天(週一起算時是週五、週六、週日)也算第 1 週,上一年最後幾天會落在去年的第 53 週,例如表格裡的 2026/12/31。來看幾個日期:

日期星期type 1type 2type 21
2026/10/11週日424141
2026/10/12週一424242
2026/12/31週四535353
2027/01/01週五1153
2024/12/30週一53531
2021/01/03週日2153

2026/10/11 和 2026/10/12 只差一天,但跨過了週一。週日起算的 type 1 把週日當新的一週開頭,所以週日 10/11 就已經是 42;週一起算的 type 2 要到 10/12 才進到 42。

Google 試算表公式
fx

週日起算,預設 type 1

=WEEKNUM(DATE(2026,10,11))

結果是 42。

Google 試算表公式
fx

週一起算,type 2

=WEEKNUM(DATE(2026,10,11), 2)

結果是 41。

表格裡 2027/01/01 這列要多看一眼:type 1、2 說它是 2027 年的第 1 週,type 21 卻說它是第 53 週。這就是下一個函式的故事。

要注意,WEEKNUM 只回傳週數,不會告訴你這是哪一年的第幾週。年度的邊界要自己處理,後面「年週代碼」那一節有寫法。

ISOWEEKNUM

ISOWEEKNUM 回傳 ISO 8601 規則下的週數:週一是一週的開頭,含有該年第一個星期四的那一週是第 1 週。

語法:

  • 日期:要判斷的日期。沒有第二個參數。

結果跟 WEEKNUM(日期, 21) 一致,所以你拿到的週數永遠不會出現「只有 2 天的第 1 週」。代價是年頭年尾的幾天會算進隔壁年:

Google 試算表公式
fx

2027/01/01 在 ISO 規則下屬於 2026 年的最後一週

=ISOWEEKNUM(DATE(2027,1,1))

結果是 53。2027/01/01 是週五,它所在的那週(2026/12/28 到 2027/01/03)的星期四是 2026/12/31,所以整週算在 2026 年。2026 年因為 1 月 1 日是週四,剛好有 53 週。

倒過來也一樣:

Google 試算表公式
fx

2024/12/30 在 ISO 規則下屬於 2025 年第 1 週

=ISOWEEKNUM(DATE(2024,12,30))

結果是 1。2024/12/30 是週一,那週的星期四是 2025/01/02,所以它是 2025 年的第 1 週,雖然日期還在 2024 年。

跟歐洲的公司或系統對週數的時候,用 ISOWEEKNUM。只是自己的週報要標「第幾週」,前後一致最重要;我個人偏向 ISOWEEKNUM,因為跨年那幾天的歸屬至少有標準可以查。

組合起來用

判斷平日或週末

週一起算的 type 2 讓週末變成「編號大於 5」。A2 放 2026/10/10(週六):

Google 試算表公式
fx

週六、週日顯示假日,其餘顯示平日

=IF(WEEKDAY(A2, 2) > 5, "假日", "平日")

A2 是週六,得到「假日」。換成 2026/10/12(週一),就是「平日」。這個判斷不含國定假日,要排除國定假日請看 年資、工作日、到期日 裡的 NETWORKDAYS。

這個月的第幾週

想知道某天是當月的第幾週(週一起算),就拿這天的週數,減掉當月 1 日的週數,再加 1:

Google 試算表公式
fx

算 A2 是該月的第幾週,週一起算

=WEEKNUM(A2, 2) - WEEKNUM(DATE(YEAR(A2), MONTH(A2), 1), 2) + 1

2026/10/01 是週四,屬於第 40 週,2026/10/11 是第 41 週,所以 10/11 是 10 月的第 2 週(41 - 40 + 1)。2026/10/12 是第 42 週,就是第 3 週。

因為 WEEKNUM 的 type 2 是以 1 月 1 日所在的週當第 1 週,同一個月的兩個日期一定在同一年,所以這個算式不會有跨年的問題。

年週代碼

做週報常常想要「2026-W41」這種代碼。直覺會寫 YEAR(A2) 接 ISOWEEKNUM(A2),但 2027/01/01 這天會得到 2027-W53,世界上沒有這個週。

ISO 規則下,一週所屬的年份是「這週星期四」所在的年份。把日期推到同一週的星期四,再取年份就對了。WEEKDAY(A2, 2) 是週一 1 到週日 7,所以星期四的日期是 A2 - WEEKDAY(A2, 2) + 4:

Google 試算表公式
fx

ISO 年週代碼,例如 2026-W41

=YEAR(A2 - WEEKDAY(A2, 2) + 4) & "-W" & TEXT(ISOWEEKNUM(A2), "00")

A2 是 2027/01/01(週五):WEEKDAY 是 5,減 5 加 4 是減 1 天,得到 2026/12/31,年份 2026,週數 53,結果是 2026-W53。A2 是 2026/10/11 的話,結果是 2026-W41。

下一個週五

想從某天往後找下一個週五(含當天),用 WEEKDAY(..., 2) 算出離週五還差幾天,除以 7 取餘數:

Google 試算表公式
fx

A2 之後(含當天)的第一個週五

=A2 + MOD(5 - WEEKDAY(A2, 2), 7)

A2 是週日 2026/10/11,WEEKDAY 是 7,5 - 7 = -2,MOD(-2, 7) 是 5,加 5 天是 2026/10/16。如果 A2 本來就是週五,MOD(0, 7) 是 0,結果就是當天。

要把星期幾顯示成「一」「二」這樣的中文,可以看 TEXT 實戰 裡 MID 搭配 WEEKDAY 的寫法。

以後排班或做週報,先決定好「一週從哪天開始」,整份試算表的 type 統一就不會亂。試著用用看吧!

我是喜特先生,Mr. Sheet,我們下個教學見!

分享:
#日期#星期#週數#ISO 週
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

八年工作經驗,跨不同業界解決數據需求。做過的案例都整理在作品集。

接下來可以

相關文章

查看所有文章

留言討論

共 0 則留言

訂閱電子報,新文章上線就通知你

免費,隨時可取消。

送出即表示同意服務條款與隱私權政策。