若要在 Google 試算表中建立日期清單,請使用日期清單產生器並設定起始日期、結束日期與整數天數步長來產生序列,然後將每行一個日期的輸出貼到 A 欄——這個工具會以時區無關的虛擬格里高利曆產生嚴格的 YYYY-MM-DD 行事曆日期,且最多接受 10,000 列。整個清單都在你目前的瀏覽器分頁中執行,因此不會上傳任何資料,而且不論你的電腦位於哪個時區,行事曆計算結果都不會偏移一天。在你將該欄格式化為日期之前,Google 試算表會將貼上的日期視為文字;格式化後,每一筆資料都會成為真實的行事曆值,你可以進行排序、篩選,並在公式中加以引用。由於產生器強制使用 HTML 日期輸入欄位與 ISO 8601 行事曆日期所採用的相同 YYYY-MM-DD 格式,因此你能取得乾淨的輸入,穩定地貼到試算表、內容企劃、筆記範本、薪資工作簿與測試固件中,而不會發生像 4 月 31 日被悄悄變成 5 月 1 日這類意外進位的情況。

how to create date list in google sheets
how to create date list in google sheets

輸入、格式與限制

日期清單產生器接受三個必要輸入與一個選用切換:

  • 起始日期 (YYYY-MM-DD) — 序列中的第一個日期。必須是虛擬格里高利曆上真實存在的行事曆日期,年份為四位數,範圍從 0001 到 9999。
  • 結束日期 (YYYY-MM-DD) — 必須等於或晚於起始日期。遞減範圍會直接被拒絕。
  • 日步長 (1 到 366) — 每次迭代所加入的整數天數。步長為 1 會列出每個符合資格的日期,步長為 7 會列出每週序列,自訂值(例如 3、5 或 14)則會建立固定間隔。
  • 星期名稱 (選用) — 為每一行加入固定的英文名稱(例如「Monday」)。序列本身不會改變。

在產生之前,工具會使用公式 floor((endOrdinal − startOrdinal) / step) + 1 計算結果數量,並拒絕任何超過 10,000 個日期的要求,且不會產生部分輸出。這項單一規則是最重要的限制:跨距長且步長小的範圍(例如三十年的每日列)會乾淨地失敗,而不是回傳一個帶有省略符或缺少最後一頁的截斷清單。

每個日期都會對照其當月份的真實長度進行驗證,因此 1 月 31 日有效、4 月 31 日無效,而 2 月 29 日僅存在於閏年。閏年規則符合 HTML 日期值所使用的格里高利規則:可被 4 整除,但可被 100 整除者除外,除非也能被 400 整除——因此 2000-02-29 有效,而 1900-02-29 無效。產生器絕不依賴瀏覽器自動校正不可能存在的日期。

在 Google 試算表中產生並貼上日期清單

  1. 開啟日期清單產生器,以 YYYY-MM-DD 格式輸入起始日期(例如 2024-01-01)。
  2. 以相同的 YYYY-MM-DD 格式輸入結束日期,確認其等於或晚於起始日期(例如 2024-01-31)。
  3. 輸入整數日步長。每日清單使用 1,每週清單使用 7,或使用 1 到 366 之間的任何整數作為自訂間隔。
  4. 若希望每行顯示星期,請開啟星期名稱切換,然後按下「產生」。
  5. 閱讀摘要列——它會說明數量,以及所選步長是否恰好落在結束日期上。
  6. 在唯讀文字區域中選取結果,或在瀏覽器允許存取剪貼簿時點擊「複製」,然後貼到 Google 試算表的 A 欄。
  7. 在試算表中,選取 A 欄,依序選擇「格式 → 數字 → 日期」,並確認日期以你偏好的版面顯示。

如果剪貼簿權限被拒絕,唯讀文字區域隨時都可以手動選取。所有解析、計算與格式化作業都在你目前的瀏覽器分頁內完成,小工具不會上傳或儲存任何日期範圍。

為你的工作流程挑選日步長

日步長是唯一控制清單密度的旋鈕。下表將常見步長對應到其在 Google 試算表中通常適合的工作流程。

日步長典型的試算表使用情境
1每日習慣追蹤、筆記日誌、出勤表
2隔日提醒列、輪替排程
3衝刺檢查節奏 (概略值)
5僅工作日的節奏,加上每週偏移
7每週站立會議列、內容發佈排程
14真正的雙週節奏
30概略的每月節奏——請參閱下方說明

步長為 30 會產生 30 天的間隔,而非行事曆月份,因此隨著時間推移會逐漸偏離當月的同一天。當你需要真正的月份或年份算術(例如「每月最後一個星期五」),請改用具備行事曆月份進位功能的工具——日期清單產生器並未提供月份或年份步長,因為 1 月 31 日或 2 月 29 日這類日期需要不同的規則。

以起始 2024-01-01、結束 2024-01-31、步長 7 為例的計算:

  • 序數差:30 天 (2024 年 1 月最後一個序數為 31,因此 31 − 1 = 30)。
  • floor(30 / 7) + 1 = floor(4.28) + 1 = 4 + 1 = 5 個日期
  • 序列:2024-01-01、2024-01-08、2024-01-15、2024-01-22、2024-01-29。
  • 結束日期 (2024-01-31) 包含在內,因為 1 + 4 × 7 = 29,而非 31。摘要列會指出未抵達結束日期。

由於此工具以行事曆日序數而非時間戳記進行運算,因此此行為在所有瀏覽器與時區中都完全一致。

為每一列加入星期名稱

當星期幾是重要資訊時,請開啟星期名稱——內容行事曆、每週發票、週期性輪班排程、依週計薪的表格。名稱使用固定的英文字串(Monday 到 Sunday),並以 Monday 為第一個 ISO 星期日,源自產生日期的同一個行事曆序數。因此相同的輸入會在每台裝置上產生相同的可複製輸出,這在多位協作者將清單貼到不同試算表時格外重要。

加入星期名稱只會改變顯示的行內容,不會改變序列本身。如果你需要將星期放在獨立的欄位以便篩選,請將兩欄輸出貼入試算表,然後使用「資料 → 將文字分割成多欄」進行分割,或在試算表中使用 SPLIT 公式進行分割。

修正常見的日期錯誤

要求失敗的最常見原因是日期格式錯誤。請檢查以下事項:

  • 年份位數正確。工具要求四位數,因此 24-01-01 會被拒絕,而 0024-01-01 則會被接受。
  • 月份與日期為零補齊。2024-1-1 必須輸入為 2024-01-01。
  • 結束日期未早於起始日期。遞減範圍會直接被拒絕。
  • 該日期存在於當月份。4 月 31 日、2 月 30 日,以及非閏年的 2 月 29 日都會被拒絕——產生器絕不依賴瀏覽器自動將日期進位。
  • 結果未超過 10,000 列。如果你的範圍與步長會產生超過 10,000 個日期,工具會回報計算數量並且不傳回任何結果;請加大步長或縮短範圍。

當日期本身正確但結果看起來仍然不足時,幾乎一定是步長剛好超過結束日期所致。請閱讀摘要列:它會說明是否已抵達結束日期,這也是你判斷應手動新增一列、調整步長或縮短範圍的唯一依據。

產生器未涵蓋的功能

日期清單產生器的設計刻意保持範圍精簡。它不是預約排程器、工作日計算器、節日行事曆、週期規則引擎或時區轉換器。它不認識營業時間、市場時段、宗教曆、學校行事曆、區域假日、閏秒或使用者位置,也不會跳過週末或移除國定假日。每日清單並不代表清單上的每一天皆可使用或實際運作,因此在匯入前,請依目的地系統的規則檢視該序列——尤其涉及截止日、薪資、差旅、財務或法律義務時更應如此。

如果你的任務是在日期範圍內進行均勻隨機抽樣而非產生固定序列,請改用隨機日期產生器,它會在不受日光節約時間漂移影響的情況下產生獨立抽樣的日期。如需 YYYY-MM-DD 格式與虛擬格里高利曆的權威參考,請參閱WHATWG HTML 標準 — 日期

若你在多方比較選項,讓 Excel 從產生器依序列出日期對此有詳細說明。

若你在多方比較選項,如何在 Google 文件中製作數學練習題對此有詳細說明。