make random teams with names
製作有名字的隨機分組團隊:實用工作流程

定義任務:製作有名字的隨機分組團隊

Random Team Generator(隨機團隊產生器)會計算您貼上的非空項目數量,使用瀏覽器的密碼學安全隨機來源進行洗牌,再將結果切分成您指定的團隊數量,藉此把一份名單平均分成若干組。各組人數最多只差一人,所以七個人的名單分成三組時,會得到三人、兩人、兩人的組合。由於每個非空項目只會被分配到剛好一個團隊,這個工具的角色是分割器(partitioner),而非洗牌器或單一中獎者挑選器,而且現場所有人會在同一刻看到同樣的抽籤結果。名單從您貼上的那一刻起,到關閉分頁為止,都只存放在目前的瀏覽器分頁中,這代表同學、同事、小孩、客戶、俱樂部成員和會議與會者都不會離開您的電腦。一旦您按下「產生團隊」(Generate teams),結果便可立即大聲唸出、複製到聊天室、寫到白板上,或貼進報名表,無須註冊帳號、無須上傳,也沒有儲存的歷史紀錄需要事後清理。

隨機分組適用之處——以及不適用之處

當目標是速度、公平性,以及避免尷尬的人工挑選時,平衡式的隨機分組表現亮眼。但當結果會影響考核、薪資、安全、法律義務或個人福祉時,它就不適合。這套工具只平衡人數,無法保證某個團隊裡一定有主持人、特定技能組合、相容的時段、相等的經驗或安全的配對。對於普通的遊戲、破冰活動、讀書會、課堂練習和非正式工作坊,平衡式的隨機分組通常能消除手動選人所帶來的社交摩擦,讓現場焦點回到活動本身,而不是座位表上。若有真實世界的限制需要考量,請先規劃限制條件並改用其他方法,再把沒有限制的部分交給這套工具來處理。

方法功能說明最適合的情境輸出形式
Random Team Generator(隨機團隊產生器)將一份名單分成 N 組課堂分組、工作坊、臨時組隊的球類活動N 個平衡的組別,每位成員剛好出現一次
Random Name Picker Wheel(隨機名字挑選轉盤)從清單中抽出一位中獎者贈品活動、抽獎、單一決策一個被高亮標示的名字
List Randomizer(清單隨機化工具)重新排列單一清單簡報順序、隨機點名清單同一份清單以新順序呈現

當現場需要超過一組、且每個人都必須剛好出現一次時,請選用分割器。當只在意單一結果、其餘名單只是陪襯時,請選用單一中獎者挑選器。當只需要改變單一清單的順序時,請選用清單洗牌器。

如何在瀏覽器中製作有名字的隨機分組團隊

  1. 開啟 Random Team Generator(隨機團隊產生器),每行貼上一個名字;如果名字直接來自試算表或電子郵件討論串,也可以用逗號分隔。
  2. 在心裡算一下名單總數,然後輸入一個正整數的團隊數,該數字不得超過您貼上的名字數量。
  3. 選擇「產生團隊」(Generate teams),接著把顯示的團隊大聲唸出來、複製到聊天室、寫到白板上,或貼進報名表。
  4. 若出席情況有變動,請編輯名單、視需要更改團隊數,然後重新產生一組新的結果,不要在舊組別之間徒手搬動成員。

按下「產生」之前的實用工作流程

在分享畫面之前先決定好組數,讓現場所有人能在眾目睽睽之下公平地完成一次抽籤。貼上名單後,請掃一眼顯示的數量,確認它與您實際預期的名字數一致;少一個逗號或夾雜一行空白是小錯,但在按下按鈕前先抓到的話,代價會小得多。把原始清單另外保存一份,這樣若有參加者遲到或中途離開時可以重抽,因為這套工具不會在不同工作階段之間為您保存結果。這套工具刻意會忽略空白行和多餘的逗號,因此您可以為了可讀性而美化長清單的格式,而不會破壞結果;但它會把重複的名字視為重複的條目來保留,所以若每位成員都必須只出現一次,請在產生之前先移除不小心多打的副本。每個名字前後的空格會自動去除,所以貼上之前不必額外清理格式。

這套工具會把每一個以換行或逗號分隔的非空條目視為名單中的一個位置,這代表「只有名字的清單」「名字加姓氏的清單」「顯示代號的清單」或「暱稱清單」都不需要任何額外的前置處理就能使用。如果您的名單存在試算表裡,複製單一欄並直接貼上即可;列與列之間的換行會被當成分隔符,而任何前導或尾隨的空白會自動移除。如果名單來自電子郵件簽名,請複製名字並以逗號分隔貼上,工具會自動跳過結尾處多出來的逗號(若有的話)。貼上後所顯示的數量,就是您可以安全要求的最大團隊數;只要選擇一個不超過該數的正整數,就會得到一組有效的分組,絕對不會出現空團隊。

平衡機制實際上如何運作

一旦您按下按鈕,工具會先修剪每個條目前後的空白,刪除空白行和多餘的逗號,然後計算剩下的非空條目數。接著把剩下的清單送入一個無偏差的 Fisher–Yates 洗牌演算法,這是隨機排列有限清單的標準作法,不會對前端或後端位置產生偏差。這個洗牌演算法會在按下按鈕的那一刻,從瀏覽器的 Crypto.getRandomValues 來源取得隨機數,這就是為什麼這套工具不會在頁面載入時就預先挑好結果,也不會悄悄重複使用先前的分組。洗牌完成後,工具會把名單切成連續的數段,各段長度最多只差一人,並隨機決定哪些團隊標籤會拿到多出來的那個人,以避免任何團隊在結構上被優待。七個人分成三組時,各段大小為三、兩、兩,這是「不遺漏任何人」的前提下,能做到的最接近完美平均的分組。畫面上看到的團隊標籤、背後的數學運算,以及最終切好的名單片段,就是全部的輸出;這個頁面不會在載入時挑選團隊,也不會在背後儲存任何先前的結果。

平衡式隨機分組真正發揮作用的情境

課堂上,老師用它把學生分成討論小組、實驗夥伴或簡報順序,不必親自挑選誰跟誰一組。體育課老師在鐘聲響起前,用它把全班分成四角網球隊、接力賽隊伍或臨時比賽的兩邊。工作坊主持人用它把與會者送進分組討論室或圓桌小組,避免讓人看到明顯的人工挑選。家庭遊戲夜的主持人用它把生日派對的來賓分成益智問答、桌遊或團體比手畫腳的回合。志工協調者用它把報名表分散到多個服務站或時段。在所有這些情境中,目標是消除「選人」所帶來的社交成本,而不是設計出最理想的組合;平衡式隨機分組能夠很快地完成這項工作,讓現場可以繼續進行真正的活動,而不是爭論誰該和誰同隊。

若出席情況在一天之中有變動,最乾淨的做法是編輯名單,再次確認團隊數,然後重新產生一組新的結果,而不是試圖在舊組別之間徒手交換成員。對於遲到者很可能出現的大型活動,請把主清單另外存放在一個分頁或文件中,這樣一有缺席者現身,就能立刻重新抽籤。隨機抽籤是一個透明且快速的起點,但它無法保證每個團隊都擁有主持人、特定技能組合、相容的時段、相等的經驗或安全的配對;因此在指派會影響考核、薪資、安全、法律義務或個人福祉的工作之前,請務必再次檢視結果。

延伸閱讀:聰明地用你的名字產生 Instagram 帳號的完整攻略。

延伸閱讀:vCard 產生器批次工作流程:從單一檔案到多張名片。