在不開啟 Shifts 應用程式的情況下,也能透過將四個有界限的輸入餵入本機的循環產生器,來起草一份 Microsoft Teams 輪班表:至少兩個不重複的員工姓名、一到四個班別名稱、一個真實的 YYYY-MM-DD 開始日期,以及一到三十一天的天數範圍。Microsoft Teams 內含一個專為前線團隊設計的 Shifts 應用程式,但它需要設定、指派授權,並由一位管理員在 Teams 內維護排班。當管理者只需要一份透明、可供所有人檢視、討論並調整的初步輪值草案,再提交正式排班時,有一條更簡便的路徑。Shift Schedule Generator 完全在當前的瀏覽器分頁中執行,接受上述四項輸入,依員工輸入順序逐一填入每個有日期的班別,並匯出包含螢幕上所顯示每一列的 CSV 檔案。其結果是確定性的草稿——重新輸入相同的輸入,就會得到相同的排班——這讓審閱、重現以及交接給真正負責維護 Teams 排班的人員都更加容易。

Teams Shifts 的定位——以及純輪值草案能幫上忙的地方
Microsoft Teams 內建的 Shifts 應用程式是前線排班的官方途徑。它支援循環班別、員工可認領的開放班別、班別交換、休假申請,以及與人力資源管理系統的整合。對於 Teams 內的永久性名單而言,Shifts 是正確的歸宿。
問題在於前置成本。Shifts 要求每位使用者具備正確的 Microsoft 365 授權、需要設定好的小組,以及持續的管理員關注。當某個團隊在這套基礎架構建立之前需要一份輪值草案時——例如一家小型咖啡廳要安排兩個班別、一個學生專案有輪流報告者、一個社區活動的志工輪值——Shifts 應用程式的繁瑣程度遠超過任務本身所需。
循環式草案正好填補了「完全沒有排班」與「Shifts 完整設定好」之間的空間。它會產生一份帶日期的表格、讓指派總數保持接近,並讓團隊能依據具體的列來討論公平性。一旦團隊達成共識,這些列可以手動輸入到 Shifts、貼到另一份 SharePoint 清單,或在 Teams Shifts 不在規劃中的情況下,直接作為工作中的排班使用。
產生器所需的四項輸入
產生器的設計刻意精簡,而正是這種精簡讓它得以被驗證。Shift Schedule Generator 僅接受剛好四類輸入,每一類都帶有明確的規則:
| 輸入 | 規則 | 為何重要 |
|---|---|---|
| 員工姓名 | 2–50 個項目,每行一個,截斷至 60 個字元,不分大小寫皆視為不重複 | 像 "Alex" 和 "alex" 這樣的重複姓名會被視為同一人而遭到拒絕 |
| 班別名稱 | 1–4 個項目,每行一個 | 將表格限制在易於管理的形狀,且每個團隊只採用一種形狀 |
| 開始日期 | YYYY-MM-DD,介於 2000-01-01 至 2099-12-31 之間,必須能透過 UTC 曆法正確往返 | 像 2023-02-29 或 2026-04-31 這類不可能的日期會在產生任何列之前就被拒絕 |
| 天數範圍 | 1 至 31 之間的整數 | 確保頁面上的表格與 CSV 在任何裝置上都能保持回應迅速 |
產生器還會強制執行一項結構性規則:員工數必須至少等於每日班別數。這保證了循環指派步驟能為同一天的不同班別安排不同的人員,因此從結構上確保單一員工不會在同一天收到兩個不同的班別。如果你的團隊每日有兩個班別,就需要至少兩位員工;如果有四個班別,就需要四位或以上。
姓名與班別標籤刻意保持簡短(最多 60 個字元),且會拒絕控制字元。在匯出 CSV 之前,任何儲存格中類似試算表公式的前綴也會被拒絕,這能防止貼上的姓名在 Excel 中開啟時被當作試算表公式讀取。
依據名單建立輪值排班
在任何現代瀏覽器中開啟 Shift Schedule Generator。這個工具在本機執行,因此不需要登入或上傳。
- 在員工輸入框中,每行輸入一個員工姓名。請使用你希望它們在排班中顯示的完整姓名。最少兩個、最多五十個,且忽略大小寫後每個項目都必須不重複。
- 在班別輸入框中,每行輸入一個班別名稱。你可以輸入一個班別(單一輪換角色)、兩個班別(典型的白天與夜間組合)、三個班別或四個班別。請勿刻意輸入重複的班別——重複項目會像重複的員工姓名一樣遭到拒絕。
- 在 YYYY-MM-DD 輸入框中輸入開始日期,例如 2026-04-06。日期必須是真實的,因此 2026-04-31 會因 4 月只有 30 天而被拒絕。
- 輸入要涵蓋的天數,介於 1 到 31 之間的整數。兩週的輪值以 14 表示,一個工作月份則以你希望涵蓋的工作日或日曆天數表示。
- 點擊產生控制項。表格會出現,每個帶日期的班別各佔一列,而總計面板會計算每位員工收到的指派次數。
- 下載 CSV。下載按鈕只有在螢幕上出現有效的排班後才會顯示。檔案內容包含標頭列 Date、Shift、Employee,後接表格中的每一列,且每個儲存格皆以引號標記。
- 在 Excel、Google 試算表或任何文字編輯器中開啟 CSV,確認列與頁面上的表格一致。姓名中嵌入的逗號與引號會保持為資料而非欄位分隔符,因為每個儲存格皆以引號標記,且嵌入的引號會以雙引號表示。
如果之後變更任何輸入,先前的結果會被清除,臨時下載 URL 也會失效。請使用新的輸入重新執行產生器,以產生新的排班與新的下載。
以一句話寫成的循環規則
指派規則是確定性的,可以一句話描述:依日期順序瀏覽各時段,再依班別輸入的確切順序,在索引 (day × shiftCount + shiftIndex) modulo employeeCount 的位置指派員工。
以三位員工、兩個班別、從第 0 天開始的範例:
| Day | Morning (shiftIndex 0) | Evening (shiftIndex 1) |
|---|---|---|
| 0 | Alice (index 0) | Bob (index 1) |
| 1 | Cara (index 2) | Alice (index 0) |
| 2 | Bob (index 1) | Cara (index 2) |
將索引公式套用至前六個時段,可以讓規律更加清楚:
- Day 0, Morning: (0 × 2 + 0) mod 3 = 0 → Alice
- Day 0, Evening: (0 × 2 + 1) mod 3 = 1 → Bob
- Day 1, Morning: (1 × 2 + 0) mod 3 = 2 → Cara
- Day 1, Evening: (1 × 2 + 1) mod 3 = 0 → Alice
- Day 2, Morning: (2 × 2 + 0) mod 3 = 1 → Bob
- Day 2, Evening: (2 × 2 + 1) mod 3 = 2 → Cara
由於索引會在員工清單結尾處循環,任何產生範圍內的總數最多僅相差一次。以同樣四項驗證過的輸入再次執行,會產生相同的六列。這種確定性正是讓這份草案可供審閱的原因:團隊中的任何人都能重新執行產生器並確認數字。
將 CSV 帶入 Microsoft Teams Shifts
CSV 是一個可攜的產出物,而不是直接連接 Teams Shifts 的介接工具。一旦團隊接受這份草案,標準的交接途徑如下:
- 手動輸入:在 Teams 中開啟 Shifts 排班,建立每個帶日期的班別,並指派 CSV 中所列名的員工。這是小型團隊最可靠的路徑,能讓每項指派都保留在官方的 Shifts 應用程式中。
- SharePoint 清單或 Excel:將 CSV 貼到團隊已與 Teams 並用的共用活頁簿中,讓員工能在查看其他營運資料的同一處看到輪值表。
- 比較與調整:將 CSV 保留為輪值計畫,讓人員在 Teams 聊天中協商交換,等討論定案後再將議定的變更套用至 Shifts 排班。
CSV 格式很簡單。第一行是標頭 Date,Shift,Employee。接下來的每一行代表某個日期的單一班別指派。每個儲存格皆以雙引號包圍;若姓名本身含有雙引號,則會以兩個雙引號表示,以維持欄位結構完整。日期會依輸入欄位中所寫的內容呈現,因此開始日期為 2026-04-06 時,產生的列就會從 2026-04-06 開始。
產生器刻意省略的功能
這份精簡的合約是刻意呈現的。Shift Schedule Generator 不收集可用性、請假需求、資格、年資、契約工時、休息時間、加班、休息時段、人力成本、工會規定、無障礙需求,或特定司法管轄區的勞動規定。它不是約束條件求解器、薪資系統、考勤機、法規稽核或疲勞風險評估工具。
這份清單之所以重要,是因為僅靠平衡的指派次數並無法證明一份名單是安全、在所有相關意義上公平、合規、人力充足或適合特定工作場所的。循環式草案將每個時段視為可互換,但實際上幾乎從非如此。請將其結果作為起點,並在工具之外套用真正的約束條件:
- 確認每個班別皆備有該角色所需數量的合格人員。
- 直接與每位員工確認可用性。
- 依當地規定加入休息時間、交班時段與休息時段。
- 檢視連續工作的模式與任何疲勞風險限制。
- 套用加班、契約工時及任何團體協約規定。
將這份輪值表與一份瀏覽器式的休息排程搭配使用,讓每個班別都包含僅靠輪值本身無法強制執行的恢復時間。如果有人無法執行顯示中的指派,請編輯下載的工作表,或將排班移轉到能編碼必要約束條件的專屬人力資源系統。產生器從未聲稱簡單的輪值已解決這些現實需求——這一步必須由團隊自行完成。
在發布前檢視名單
一份快速的檢視清單能在排班送達團隊前抓住大多數問題:
- 掃描指派總計面板:在產生範圍內,每位員工的指派次數應與其他員工相差不到一次。差距過大通常代表輸入的姓名並未全部送達產生器。
- 閱讀頁面表格的第一列與最後一列,確認日期與預期的開始日期及所選範圍一致。
- 在文字編輯器中開啟下載的 CSV,確認第一行內容正是 Date,Shift,Employee。
- 從表格中間挑選兩個隨機列,驗證員工姓名與輸入時完全一致,沒有可能在試算表中被解讀為公式的開頭等號或引號。
- 以同樣的四項輸入重新執行產生器。如果第二次執行產生相同的列,則這份草案具備可重現性,可安全地作為真正 Teams 排班的起點分享。
所有姓名與排班計算皆保留在當前的瀏覽器分頁中。不會上傳任何員工清單、不會儲存於帳號中,也不會傳送至排班服務。臨時下載 URL 會在檔案儲存後或分頁關閉時失效,因此舊的 CSV 不會與新的輸入意外吻合。