在 Google 試算表中隨機排列項目清單不需要公式、外掛程式或腳本,只要把該欄複製出來、貼到一個在瀏覽器中執行 Fisher-Yates 演算法的線上清單隨機工具,再把洗牌後的結果複製回試算表即可。整個洗牌過程只需幾秒鐘,每一種可能的排列順序出現的機率完全相同,而且你的資料從未離開你的瀏覽器分頁。得到的結果與使用 RANDARRAY 搭配 SORT 所得到的公平排序相同,卻不需要在資料編輯列中輸入任何函式。你不需要付費的 Google Workspace 方案、第三方 Sheets 外掛,也不需要任何 Apps Script 知識。這種方法同樣適用於只能檢視而無法編輯公式的使用者,而這正是大多數人覺得公式並非最佳解的最常見原因。

為什麼人們要在 Google 試算表中隨機排列清單
在 Google 試算表中隨機調整列順序的情況,在日常工作中比你想像的更常出現。教師把學生名單保存在試算表中,在點名之前先洗牌,避免總是由同一個人當第一個。團隊負責人在 A 欄儲存每日站立會議的報告人名單,每週一重新隨機排序,讓發言順序保持公平。抽獎活動主辦人把參加者的電子郵件貼入試算表,需要一種可靠且無偏見的方式來抽出得獎者。研究人員則隨機排列問卷題目或實驗刺激項的順序,以控制順序效應。作家與遊戲主持人則會洗牌提示、劇情鉤子或挑戰清單,以突破創作瓶頸。
這些工作有一個共通點:來源資料已經儲存在試算表中,但輸出結果需要以不同的順序呈現。這正是一種讓公式顯得過於沉重的情境,因為公式只在試算表開啟時存在,而結果通常會被貼到其他地方。
Google 試算表中以公式進行隨機排序的問題
Google 試算表有兩種廣為人知的公式洗牌方式:內建的 RAND() 輔助欄搭配排序,以及現代化的 RANDARRAY 搭配 SORT 組合。兩者皆可運作,但一旦清單離開試算表,兩者都會浮現取捨。
傳統方法會新增一個填滿 =RAND() 公式的輔助欄,再依該欄進行排序。新式方法則使用單一的動態陣列公式,例如 =SORT(A2:A, RANDARRAY(COUNTA(A2:A)), 1)。無論採用哪一種方式,最後都會留下一欄持續運作的公式,每次編輯或開啟試算表時都會重新計算。如果把結果以值的形式複製貼到別處,你就會多做一個步驟。如果共用試算表,輔助欄或揮發性陣列會跟著檔案走,可能會讓不知其用途的協作者感到困惑。
此外還有一項公平性方面的注意事項。試算表公式依賴的是與所有瀏覽器工具相同的通用隨機數產生器,因此在日常使用下結果在統計上是公平的,但並非專為加密用途或具有法律效力的抽獎所設計。洗牌是公平的,但其公平程度僅止於底層的隨機數產生器。
如何使用清單隨機工具從 Google 試算表中隨機排列清單
以下是把資料欄從 Google 試算表移出、在瀏覽器中洗牌、再放回試算表的實務流程。任何 Google 帳戶皆可使用,包括唯讀的檢視者。
- 在 Google 試算表中,選取你想要隨機排列的欄或範圍。按住 Shift 並點擊欄字母以選取整欄,或點擊頂端儲存格後按住 Shift 再點擊底部儲存格以選取固定範圍。
- 在 Windows 上按 Ctrl+C,或在 Mac 上按 Cmd+C 來複製儲存格。如果該欄有你不希望被洗牌的標題列,請將其排除在選取範圍之外。
- 在新分頁中開啟 清單隨機工具。此工具完全在瀏覽器中執行,因此你的資料欄絕不會被傳送到任何地方。
- 使用 Ctrl+V 或 Cmd+V 將複製的儲存格貼入文字方塊中。每一列試算表資料會各佔一行。如果貼上後出現多餘的空格,工具會自動去除。
- 如果你的清單中有想要移除的重複項目,請勾選「移除重複行」核取方塊。如果希望重複的條目在洗牌中視為獨立項目,則不要勾選。
- 點擊「洗牌」。清單會使用 Fisher-Yates 演算法重新排序,該演算法從最後一個項目往回走,並將每個項目與隨機選定的另一個位置進行交換。每種排列順序出現的機率完全相同。
- 在輸出方塊中讀取洗牌後的結果。如果想要不同的隨機順序,再次點擊「洗牌」以獲得全新的排列。
- 點擊「複製」將隨機排列後的清單傳送到剪貼簿。
- 切換回 Google 試算表,在原始資料旁的空白欄點擊第一個儲存格,然後使用 Ctrl+V 或 Cmd+V 貼上。
- 使用「選擇性貼上」中的「僅貼上值」,讓洗牌後的欄位成為純文字,而非公式或連回隨機工具的即時連結。
以上就是完整的往返流程。不需要安裝任何外掛程式、不需要授予權限,也沒有任何需要 Google 在背景同步的資料。
為什麼 Fisher-Yates 洗牌能產生公平的結果
隨機排列清單聽起來很簡單,但要做得很公平卻很容易出錯。最常見的錯誤是依隨機比較值進行排序,這會悄悄地使結果偏向某些順序。清單隨機工具所使用的 Fisher-Yates 洗牌法自 1930 年代起就是標準的無偏見演算法。它從最後一個位置往第一個位置走,在每一步中將目前的項目與尚未固定的位置中以均勻隨機方式選出的一個進行交換。
其結果是輸入資料的每一種排列出現的機率完全相同,無論清單長度為何。五個項目的清單共有 120 種可能的排列,而 Fisher-Yates 會以相同的 1/120 機率選中每一種。二十個項目的清單大約有 2.4 × 1018 種可能的排列,而該演算法仍以相同的比率造訪每一種。這種數學上的公平性正是讓洗牌結果足以應用在抽獎、團隊分組和課堂抽籤的原因。
隨機化試算表何時能真正節省時間
隨機化 Google 試算表清單的最常見用途可以整理成一個簡短的表格。最終的隨機順序一律由清單隨機工具產生,但用途決定了輸出的應用方式。
| 情境 | 你輸入的內容 | 洗牌如何發揮作用 |
|---|---|---|
| 隨機點名學生 | A 欄中的班級名單 | 每堂課以全新的順序出現每個名字 |
| 站立會議發言順序 | 團隊成員姓名 | 不會總是同一個人在每週一當第一個發言 |
| 抽獎或活動得獎者 | 參加者姓名或電子郵件清單 | 得獎者從公平的排列中抽出 |
| 問卷題目順序 | 題目文字或項目標籤 | 減少回應中的順序效應 |
| 錦標賽選秀或輪流出場順序 | 選手姓名 | 選秀順序產生一次後再複製貼上 |
| 創意提示 | 寫作提示、劇情構想、配色方案 | 跳脫習慣性的首選 |
隱私:你的試算表資料從未離開瀏覽器
對許多這類任務而言,隱私正是瀏覽器型工具合理存在的理由。清單隨機工具完全在你的瀏覽器中執行,因此你貼上的資料是在你自己的裝置上處理的。不會上傳到任何伺服器、不會儲存到任何資料庫,也不會記錄到任何地方。當你關閉分頁或重新整理頁面時,資料就會消失。
當清單中包含員工姓名、客戶電子郵件、面試候選人、病患或抽獎參加者時,這點尤其重要。在 Google 試算表內以公式進行的洗牌在某種意義上也具有隱私性,因為只有擁有編輯權限的人才能看到資料,但即時公式會留在檔案中並跟著檔案走。瀏覽器型洗牌則會產生一個可直接以純值形式貼回的完成結果,不會留下任何輔助欄或揮發性陣列。
從 Google 試算表乾淨貼上的技巧
三個小習慣可以讓整個往返流程更順暢。
- 複製時排除標題列,避免欄位名稱跑到洗牌後清單的中間。
- 貼上之前先去除尾端的逗號和周圍的空白字元。工具雖然會自動去除邊緣空白,但若你要連續洗牌多份試算表,先清理 B 欄和 C 欄能節省時間。
- 洗牌之前先刪除空白列。清理來源中的空行可讓結果清單與輸入長度一致,避免在貼回試算表時產生意外。
一旦洗牌後的清單回到試算表中,請以僅貼上值的方式貼上,使結果為純文字。如此一來就能像其他任何資料欄一樣進行共用、排序或篩選。
若你正在比較各種選項,Google 翻譯成豬拉丁文:本地瀏覽器工具對此有詳細介紹。