免費的輪班排程產生器會將一份員工姓名清單、一份簡短的班別標籤清單、一個實際的開始日期,以及 1-31 天的區間,轉換成一個確定性的循環制輪值排班草稿,並附上帶有日期的頁面表格、每位員工的指派總數,以及一個與可見列完全對應的 CSV 下載檔。這份契約刻意訂得很窄:驗證輸入、以固定順序填滿每個有日期的時段、讓總數保持平衡,然後停下。真正排班表需要的所有其他條件——可用性、資格、休息時間、輪班間隔、超時工作、工會規則、特定司法管轄區的勞動法——都落在工具之外,這是你在發布排班表之前必須自行疊加上去的工作。背後沒有隨機種子、沒有評分函式,也沒有隱藏在數學中的員工排名;任何給定時段的指派都是日期索引、班別索引與員工清單長度的確定性函數。當作第一份草稿使用時,它解決了面對空白頁的問題;當作最終排班表使用時,它並不完整,若一個免費產生器聲稱自己是完整的,那它就是在撒謊。

本指南將逐步說明這個免費的輪班排程產生器實際的功能、它接受與拒絕的輸入、驅動每一次指派的規則、產生草稿的確切步驟、你應該事先了解的限制,以及在任何人開始上工前驗證輸出的簡短檢查清單。

shift schedule generator free
免費輪班排程產生器:限制、規則與草稿

免費循環制產生器的產出

輸出刻意設計得小巧且易於檢視。在你指定的範圍內,工具會為每個 (日期、班別) 組合填入一列,列出指派的員工,計算每人收到的班次數量,並產生一份包含完全相同列的 CSV。沒有評分、沒有最佳化,也沒有隱藏的員工排名:每個時段都指派給輸入順序中的下一位員工,並在清單尾端時繞回開頭。由於規則是確定性的,使用相同且通過驗證的輸入重新執行會重現相同的列,這讓審查變得直觀,爭議也更容易釐清——排班表是輸入的函式,而非隨機種子的函式。

由此衍生兩個結論。第一,產生器誠實地表明自己只是草稿——它不會假裝平衡的計數就能證明排班表是安全、合法或人手充足的。第二,因為每個儲存格都顯示在頁面上,你可以在 CSV 被視為權威依據之前抓出錯誤(錯字、遺漏人員、班別名稱錯誤)。

產生器接受的輸入與硬性限制

此工具有四個輸入,每個都有嚴格的格式要求。只要其中任何一個出錯,產生器會直接拒絕而不是猜測。

輸入接受的格式下限上限
員工姓名每行一個唯一姓名,截斷為 60 字元,不分大小寫的唯一性250
班別名稱每行一個班別標籤,相同的文字限制規則14
開始日期YYYY-MM-DD,實際的 UTC 曆法日期2000-01-012099-12-31
區間開始日期之後的完整 UTC 天數131

三個額外的限制決定執行能否成功。員工數必須至少等於班別數,這樣產生器才不會需要在同一天指派同一個人到兩個不同的班別。開始日期必須能夠在 UTC 曆法中正確往返轉換——像 2023-02-29 或 2026-04-31 這類不可能的值會被拒絕,而不是默默地順延到隔天。日期以完整的 UTC 天推進,因此你當地時區的日光節約時間轉換不會導致輸出中的日期被跳過或重複。重複的員工或班別名稱、控制字元,以及以試算表公式前綴開頭的儲存格,都會在建構排班前先被過濾掉,所以你下載的 CSV 無法將公式夾帶進下游的試算表中。

循環制指派的運作方式

對於區間內的每一天,並依照你輸入的每個班別順序,工具會將索引等於 (dayIndex × shiftCount + shiftIndex) 模 employeeCount 的員工指派出去。由於每個時段都套用相同的公式,指派規則完全可以重現:給定相同的輸入,第三天的第三個班別永遠指派給同一個人。

考慮三位員工——Alice、Bob、Cara——以及兩個班別 Morning 與 Afternoon。該公式在前四天會產生以下序列:

  • 第 1 天,Morning:(0 × 2 + 0) mod 3 = 0 → Alice
  • 第 1 天,Afternoon:(0 × 2 + 1) mod 3 = 1 → Bob
  • 第 2 天,Morning:(1 × 2 + 0) mod 3 = 2 → Cara
  • 第 2 天,Afternoon:(1 × 2 + 1) mod 3 = 0 → Alice
  • 第 3 天,Morning:(2 × 2 + 0) mod 3 = 1 → Bob
  • 第 3 天,Afternoon:(2 × 2 + 1) mod 3 = 2 → Cara
  • 第 4 天,Morning:(3 × 2 + 0) mod 3 = 0 → Alice
  • 第 4 天,Afternoon:(3 × 2 + 1) mod 3 = 1 → Bob

在整個產生的區間中,每位員工獲得的指派次數是總時段數除以員工數的 floor 或 ceiling,因此總數最多只差 1。這種平衡是循環制規則的特性,並不保證產生的模式在其他意義上是公平的——它無法說明疲勞程度、連續夜班,或是對的人是否在對的班別上。

逐步建立一份排班草稿

流程分為三個階段:輸入資料、產生表格、然後驗證並匯出。請將這四個輸入另外存放在一個文字檔中,這樣你就能在進行小幅調整時重新執行,而不必重新輸入。

  1. 列出員工。在員工欄位中每行輸入一個唯一姓名。目標人數至少要與你每天運作的班別數一樣多。像 "Alex" 與 "alex" 這類重複會被拒絕,而不是默默地合併,這能保護總數不會將兩位真實員工合併成同一個時段。
  2. 列出班別。每行輸入一個班別標籤——例如 Morning、Afternoon、Evening、Night。你可以設定一到四個班別;每個班別在區間內每天都會執行,且依照你輸入的確切順序進行。
  3. 選擇開始日期與區間。以 YYYY-MM-DD 的格式輸入開始日期,以及 1 到 31 之間的整數天數。由於產生器會拒絕不可能的曆法值而非自動修正,請手動驗證日期,特別是閏年的二月等邊界情況。
  4. 產生排班表。點擊產生控制項。頁面上的表格會為每個 (日期、班別) 組合填入一列,表格下方會顯示每位員工的指派次數。
  5. 下載前檢視每一列。確認姓名正確無誤、確認同一人在同一天不會出現兩次於同一班別,並確認日期序列從開始日期到區間最後一天都是連續的。
  6. 下載 CSV。檔案包含 Date、Shift、Employee 表頭列,接著是頁面上顯示的每一列。每個儲存格都會加上引號,內嵌的引號會被加倍,因此姓名中的逗號與引號會保留為資料,而不會破壞欄位結構。
  7. 在工具外部套用真實世界的規則。檢查可用性、資格、休息時間、輪班間隔、契約工時、超時工作,以及任何適用的勞動或工會規則。對於產生器未涵蓋的部分,請編輯試算表或改用專門的人力資源系統,因為此工具不會默默地替你猜測這些限制。

產生器刻意不處理的部分

狹窄的契約本身就是安全設計。這個工具從不詢問可用性、請假需求、資格、年資、地點、契約工時、休息時間、超時上限、輪班間隔、人力成本、工會規則、無障礙需求,或特定司法管轄區的勞動規範。它不是約束條件求解器、薪資系統、考勤系統、法規稽核工具,也不是疲勞風險評估工具。僅憑平衡的指派計數,並不能證明排班表是安全、合法、人力充足,或在「誰覆蓋哪個有日期的時段」之外的任何意義上是公平的。

請將結果視為草稿,並在發布前補上缺少的層次。對於只需要第一份草稿的團隊來說,這就是全部的工作;對於需要可發布的排班表的團隊來說,這只是起點。如果你希望了解循環制草稿作為不同工作流程的輸入會是什麼樣子,如何取得員工排班表 1:第一份草稿這份指南會逐步說明如何將這類輸出作為更完整流程的種子。

隱私與資料存放位置

所有姓名、班別標籤、開始日期、區間,以及產生的排班表都在當前的瀏覽器分頁內處理。不會上傳任何員工清單、儲存到帳號中,或傳送至排程服務。當你下載 CSV 時,該檔案是由記憶體中的表格所建立,並透過一個暫時的物件 URL 公開,該 URL 會在下載後或頁面關閉時撤銷,以防止過時的檔案看似符合較新的輸入。編輯任何輸入都會清除舊的結果,因此頁面上的表格與任何先前產生的下載檔不會失去同步。由於契約是在本機執行,免費方案在帳號、上傳頻寬或儲存在廠商伺服器上的員工資料方面都不產生成本——當排班表本身具敏感性時,這是一項有用的特性。

發布前請檢查輸出

在將 CSV 視為權威依據之前,請使用這份簡短的檢查清單。

  • 計數最多只差 1。如果有兩個總數的差距超過 1,表示產生後變更了某個輸入——請在匯出前重新產生,因為舊的下載檔是依據舊的輸入所建立。
  • 同一天沒有任何人出現兩次。如果你看到這種情況,代表員工數少於班別數,這次執行本來就應該被拒絕;請增加員工或減少每日班別,然後從頭重新產生。
  • 日期從開始日期起連續不中斷。如果有缺漏或重複的日期,表示 CSV 曾被手動編輯,應該從工具重新產生,因為產生器是以完整的 UTC 天推進,不會自行產生間隔。
  • 姓名與你的來源清單相符。由於修剪與不分大小寫的唯一性規則,"Alex" 與 " alex " 會被視為同一個人;請仔細確認是否有暱稱或多餘的空白將兩位真實員工合併成同一列。
  • CSV 能在你的試算表中乾淨地開啟。如果有欄位落到錯誤的位置,最常見的原因是包含逗號的儲存格缺少引號;產生器會為每個儲存格加上引號,因此解析問題通常代表檔案後來被編輯過,應該重新產生。

當團隊需要一份透明的第一輪輪值、且不需要隱藏的最佳化時,免費的輪班排程產生器是個實用的起點。提供乾淨的輸入、檢視每一列、下載 CSV,並套用產生器刻意留給你去處理的可用性、資格、休息與勞動規則。