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

how to create shift schedule in microsoft teams
從名單建立 Microsoft 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 個項目,每行一個將表格限制在可控的形狀,且一個團隊只對應一種形狀
起始日期介於 2000-01-01 與 2099-12-31 之間的 YYYY-MM-DD,必須能透過 UTC 曆法正確往返轉換像 2023-02-29 或 2026-04-31 這類不存在的日期會在產生任何列之前就被拒絕
天數範圍1 到 31 的整數確保頁面上的表格與 CSV 在任何裝置上都能保持流暢

產生器還強制執行一項結構性規則:員工數必須至少等於每日班別數。這保證了循環制指派步驟能在同一天將不同的人分配到各個班別,因此在結構上不會有員工在同一天被指派兩個不同的班別。若你的團隊每天有兩個班別,就需要至少兩位員工;若是四個班別,則需要四位或以上。

姓名與班別標籤長度刻意設限(最多 60 個字元),且會拒絕控制字元。任何儲存格中開頭為試算表公式的內容也會在 CSV 匯出前被拒絕,以防止檔案在 Excel 中開啟時,貼上的姓名被當作試算表公式讀取。

從你的名單建立一份輪值排班

在任何現代瀏覽器中開啟 Shift Schedule Generator。這個工具在本機執行,因此不涉及登入或上傳。

  1. 在員工輸入框中,每行輸入一位員工姓名。請使用你希望它們出現在排班表上的確切名稱。最少兩個、最多五十個,且忽略大小寫後每個項目都必須唯一。
  2. 在班別輸入框中,每行輸入一個班別名稱。可以輸入一個班別(單一輪換角色)、兩個班別(典型的白班與晚班組合)、三個班別或四個班別。不要刻意輸入兩次相同的班別——重複項目會像重複的員工姓名一樣被拒絕。
  3. 在 YYYY-MM-DD 輸入框中輸入起始日期,例如 2026-04-06。日期必須是真實存在的,因此 2026-04-31 會被拒絕,因為四月只有 30 天。
  4. 輸入要涵蓋的天數,範圍為 1 到 31 的整數。兩週的輪值可輸入 14,一個工作月份則輸入你想要涵蓋的工作日或日曆天數。
  5. 點擊產生按鈕。表格會以每個帶日期的班別佔一列的方式出現,且總計面板會計算每位員工被分配的次數。
  6. 下載 CSV。下載按鈕只會在螢幕上顯示有效的排班表後才會出現。檔案內容包含標頭列 Date, Shift, Employee,後面接著表格中的每一列,每個儲存格都會加上引號。
  7. 在 Excel、Google 試算表或任何文字編輯器中開啟 CSV,確認各列與頁面上的表格相符。姓名中嵌入的逗號與引號會保持為資料而不會切斷欄位,因為每個儲存格都已加上引號,且嵌入的引號會以雙引號表示。

若之後變更任何輸入,先前的結果會被清除,且暫時的下載網址也會失效。請以新的輸入重新執行產生器,以產生全新的排班與全新的下載檔案。

用一句話寫成的循環制規則

指派規則是確定性的,可以用一句話描述:依照日期順序,再依照班別的輸入順序,依次走訪每個時段,並指派索引為 (day × shiftCount + shiftIndex) 模 employeeCount 的員工。

以三位員工與兩個班別、起始日為第 0 天為例:

日早班 (shiftIndex 0)晚班 (shiftIndex 1)
0Alice (索引 0)Bob (索引 1)
1Cara (索引 2)Alice (索引 0)
2Bob (索引 1)Cara (索引 2)

對前六個時段套用索引公式,可以讓規律更清楚:

  • 第 0 天,早班:(0 × 2 + 0) mod 3 = 0 → Alice
  • 第 0 天,晚班:(0 × 2 + 1) mod 3 = 1 → Bob
  • 第 1 天,早班:(1 × 2 + 0) mod 3 = 2 → Cara
  • 第 1 天,晚班:(1 × 2 + 1) mod 3 = 0 → Alice
  • 第 2 天,早班:(2 × 2 + 0) mod 3 = 1 → Bob
  • 第 2 天,晚班:(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 不會收集可用時段、申請休假、資格、年資、簽約工時、休息時間、加班、休息週期、人力成本、工會規則、無障礙需求或特定司法管轄區的勞動規定。它不是約束求解器、薪資系統、打卡鐘、合規稽核或疲勞風險評估工具。

這份清單之所以重要,是因為單看平衡的分配次數,並不足以證明一份名單在安全、各方面公平、合法、人力充足或適合特定職場方面是合格的。循環制草稿將每個時段視為可互換的,但實務上幾乎從來不是如此。請把結果作為起點,並在工具之外套用真正的約束:

  • 確認每個班別都配置了足夠數量的合格人員。
  • 直接與每位員工確認其可用時段。
  • 依當地規定加入休息時間、交班與休息週期。
  • 檢視連續工作的模式以及任何疲勞風險限制。
  • 套用加班、簽約工時以及任何團體協約的規定。

將這份輪值與一份瀏覽器式的休息提醒排程搭配使用,讓每個班別都包含僅靠輪值無法強制執行的恢復時間。若有人無法執行顯示出來的指派,請編輯下載的工作表,或將排班移轉到能編碼必要約束的專用人力系統中。產生器從未宣稱單純的輪值就解決了那些真實世界的需求——這一步必須由團隊親自完成。

Review the Roster Before You Publish It

A quick review checklist catches most issues before the schedule reaches the team:

  • Scan the assignment totals panel: every employee should be within one assignment of every other employee over the generated range. A larger gap usually means the input names did not all reach the generator.
  • Read the first and last row of the on-page table and confirm the dates match the intended start and the chosen range.
  • Open the downloaded CSV in a text editor and confirm the first line reads Date,Shift,Employee exactly.
  • Pick two random rows from the middle of the table and verify the employee names appear exactly as typed, with no leading equals sign or quote that would be interpreted as a formula in a spreadsheet.
  • Re-run the generator with the same four inputs. If the second run produces the same rows, the draft is reproducible and safe to share as the starting point for the real Teams schedule.

All names and schedule calculations stay in the current browser tab. No employee list is uploaded, stored in an account, or sent to a scheduling service. The temporary download URL is revoked after the file is saved or when the page closes, so a stale CSV cannot appear to match newer inputs.

Related reading: How to Make a Rotating Shift Schedule on iPhone.