在 Excel 中快速為資料清單產生隨機群組
在日常工作中,或準備研習、培訓課程時,您可能需要將資料清單(例如姓名、學生 ID 或專案任務)隨機分組。如 Screenshot 1 所示,資料項目被隨機指派至各群組;又如 Screenshot 2 所示,姓名被隨機分配至不同團隊,以進行活動或小組任務。高效完成此任務不僅確保公平性,更能大幅節省手動分配所需的寶貴時間。幸運的是,Excel 提供多種可靠方法——包括公式、VBA 自動化與樞紐分析表——助您快速、靈活地搞定隨機分組!
| Screenshot 1 | Screenshot 2 |
![]() | ![]() |
當您需要將資料清單隨機分配至指定數量的群組,且能接受各群組人數不均時,可善用 Excel 的 CHOOSE 與 RANDBETWEEN 函數快速完成。典型應用情境包括遊戲參與者分組或臨時會議團隊編組。
首先,在您的清單旁選擇一個空白儲存格(例如,若清單位於 A 欄,請選取 B2 儲存格),然後輸入下列公式:
=CHOOSE(RANDBETWEEN(1,3),"Group A","Group B","Group C ")
在此公式中:
- RANDBETWEEN(1,3) 會產生 1 至 3 之間的亂數,代表 3 個群組。
- A 組、B 組與 C 組將作為分組名稱顯示在您的資料旁邊。
接著,向下拖曳填滿控點,將公式套用至其他列,即可隨機將所有項目分配至各群組。
完成此步驟後,每筆資料項目都會被隨機分配至一個群組。請注意,由於 RANDBETWEEN 是易失性函數,每當工作表重新計算(例如編輯儲存格或重新開啟檔案)時,結果都可能變動。
實用提示:若不希望這些分配結果變動,請複製公式結果,並使用選擇性貼上 > 數值來固定分配結果。
適用情境:此方法彈性高,適合快速滿足一般分組需求;但各群組人數可能不均,因此不適用於需嚴格平均分配的場合。
注意事項:若資料集龐大或需精確控制群組大小,建議改用其他方法以掌握更多調整彈性。

透過 KUTOOLS AI 解鎖 Excel 的神奇功能
- 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
- 自訂公式:打造專屬公式,讓您的工作流程更順暢!
- VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
- 公式解析:輕鬆掌握複雜公式!
- 文字翻譯:輕鬆打破試算表中的語言隔閡!
若需將資料分配至固定人數的隨機群組(例如每組 4 人),可善用 Excel 的 ROUNDUP 與 RANK 函數組合,快速達成理想分組效果。此方法特別適用於課堂作業分配、團隊編組平衡,或任何需要統一群組規模的情境。
執行此方法的步驟如下:
1. 首先,在資料旁新增一個輔助欄(例如 E 欄),並在儲存格 E2 中輸入:
=RAND()
向下拖曳此公式,填滿清單中所有需要的儲存格。RAND 函數將為每筆項目指派一個隨機數值。
2. 在下一欄(例如 F2)中輸入下列公式:
=ROUNDUP(RANK(E2,$E$2:$E$13)/4,0)
說明如下:
- E2:E13:請調整此範圍以符合您的資料。範圍必須涵蓋所有包含 =RAND() 函數的列。
- 4:每個群組的人數。若需調整群組規模,請修改此數字。
向下拖曳填滿控點,將公式套用至所有列。您的資料現已分組,每組約含 4 筆項目。
補充指引:
- 若項目總數無法被群組大小整除,最後一個群組的項目數可能會較少。
- 在完成隨機分配後,使用選擇性貼上 > 數值鎖定群組,避免重新計算時發生變動。
- 重新整理 RAND() 函數會再次隨機分配群組——若需調整初始分配,此功能格外實用。
限制:此方法無法直接指定分組名稱(僅產生群組編號),且在處理大型資料集時,公式可能會拖慢重新計算速度。
對於有進階需求的使用者(例如確保每位成員僅隸屬一個群組、精確平衡各群組人數,或根據特定條件重新分配),VBA 能提供更高的彈性。此方法特別適用於大型名單,或需要重複執行分配作業的情境。開始前務必先儲存檔案,因為 VBA 程式碼通常會直接修改您的資料。
1. 按一下開發人員工具 > Visual Basic 以開啟 VBA 編輯器,再按一下插入 > 模組,並將下列程式碼複製貼上至新模組中:
Sub AssignRandomGroups()
Dim GroupCount As Integer
Dim GroupSize As Integer
Dim rng As Range, cell As Range
Dim i As Long, j As Long, idx As Long
Dim arr() As Variant, groupArr() As Variant, grpNum As Integer
Dim ws As Worksheet
Dim totalRows As Integer, remaining As Integer
On Error Resume Next
Set ws = Application.ActiveSheet
Set rng = Application.InputBox("Select the range of data to group", "KutoolsforExcel", Type:=8)
GroupCount = Application.InputBox("Enter the number of groups:", "KutoolsforExcel", 3, Type:=1)
If rng Is Nothing Or GroupCount <= 0 Then Exit Sub
arr = rng.Value
totalRows = UBound(arr, 1)
GroupSize = Int(totalRows / GroupCount)
remaining = totalRows - GroupSize * GroupCount
ReDim groupArr(1 To totalRows)
Dim used() As Boolean
ReDim used(1 To totalRows)
Randomize
For i = 1 To totalRows
Do
idx = Int(Rnd() * totalRows) + 1
Loop While used(idx)
used(idx) = True
groupArr(i) = idx
Next i
For i = 1 To totalRows
grpNum = Int((i - 1) / GroupSize) + 1
If grpNum > GroupCount Then grpNum = GroupCount
rng.Cells(groupArr(i), 1).Offset(0, 1).Value = "Group " & grpNum
Next i
MsgBox "Groups assigned randomly and as evenly as possible.", vbInformation
End Sub 2. 接著,按一下
按鈕以執行程式碼。系統將提示您選取資料範圍(例如包含姓名或 ID 的欄位),並輸入欲產生的群組數量。VBA 會為每筆資料列分配一個群組,並將群組編號填入右側相鄰欄位。
- 防止重複分配:每位成員僅會被分配至一個群組。
- 平衡群組:盡可能均勻分配。若資料無法完全平均分割,最後一個(或數個)群組的成員數可能會多一或少一。
- 自訂設定:您可以調整 VBA 程式碼,變更輸出文字、起始欄位,或加入額外的分配規則。
注意事項:VBA 將直接修改您的工作表資料——執行前務必先備份!若出現錯誤(例如選取的欄數超出預期),請再次確認選取範圍與群組數量是否輸入正確。
疑難排解:若未顯示「開發人員」索引標籤,請依序前往檔案 > 選項 > 自訂功能區 > 開發人員將其啟用。若發生錯誤,請確認巨集設定已開啟(檔案 > 選項 > 信任中心)。
使用情境優勢:VBA 非常適合需要嚴格控制、處理大型資料集,或自動化重複性任務的進階使用者;然而,對於快速完成基礎任務來說,由於必須啟用巨集並撰寫或修改程式碼,反而不夠理想。
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用

