KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

在 Excel 中隨機排序清單(簡易逐步教學)

作者Amanda Li修改日期

隨機排序是一種快速又簡便的方法,能確保每個項目出現的機率完全均等。本教學將帶您透過幾個簡單步驟,在 Excel 中輕鬆為清單完成隨機化(洗牌)。

說明 Excel 中隨機化結果的螢幕截圖

影片:在 Excel 中隨機排序清單


使用函數隨機排序清單

在本節中,我將教您如何運用 Excel 內建函數輕鬆打亂清單順序。

使用 RAND 函數隨機排序清單

任何 Excel 版本的使用者皆可搭配「排序」功能,運用 RAND 函數將原始資料集隨機排序,請依照以下步驟操作。

步驟 1:輸入 RAND 公式

選取您要隨機排序的清單旁邊的儲存格,輸入下方的 RAND 公式,然後按下「Enter」。

=RAND()

儲存格中的 RAND 公式

步驟 2:將 RAND 公式填滿至其他儲存格

雙擊公式儲存格右下角的填滿控點(綠色小方塊),即可將公式快速套用至下方所有相鄰的儲存格。

RAND 公式套用至其他儲存格

步驟 3:排序 RAND 結果以打亂清單

1. 選取包含 RAND 函數公式的範圍「B2:B8」。

2. 在「編輯」群組中,點選「開始」索引標籤下的「排序與篩選」>「依小到大排序」。

功能區上的「由小到大排序」選項

3. 在彈出的對話方塊中,選取「擴充選取範圍」,然後點擊「排序」。

選取「擴充選取範圍」選項

結果

大功告成!清單已隨機排序,如下所示。

清單已隨機排序

注意:Excel RAND 函數具有易失性:每次工作表變更時都會重新計算結果。因此,排序後 B 欄的數值會立即改變。若您想再次打亂清單,請重複上述步驟3. 否則,您只需刪除包含 RAND 函數的欄位即可。
使用 RANDARRAY、SORTBY 與 ROWS 函數隨機排序清單(適用於 Excel 365/2021)

若您使用較新版本的 Excel,例如 Microsoft 365 Excel、Excel 2021 或 Excel 網頁版,即可運用 RANDARRAYSORTBYROWS 函數,在指定位置快速產生隨機排序的清單!

步驟 1:輸入 RANDARRAY、SORTBY 與 ROWS 公式

選取您要顯示隨機排序結果的空白儲存格,輸入下方公式(注意:請將公式中的「)A2:A8」替換為您要隨機排序的原始清單),再按下「Enter」即可!

=SORTBY(A2:A8,RANDARRAY(ROWS(A2:A8)))

注意:
  • 當溢出範圍(本例為 B2:B8)非空白時,Excel 會傳回「#SPILL!」錯誤。
  • 此公式具有易變性:每次工作表變更時,結果都會自動重新計算。若想再次隨機排序清單,請按下「F9」鍵。
  • 公式產生的結果(即隨機排序後的清單)無法直接編輯。若您需要編輯隨機排序後的清單,請依照下列步驟操作。

(選用)步驟 2:複製並貼上公式結果使其可編輯

若您只想查看隨機結果,可跳過此步驟;若希望編輯隨機排序後的清單,請複製公式結果並貼上為數值:

1. 選取公式結果,然後按下「Ctrl」+「C」即可輕鬆複製。

2. 在您要貼上複製結果的儲存格上按一下滑鼠右鍵。(您也可將值貼回原始位置。)

3. 從右鍵選單中選擇「貼上值」選項。

結果

現在您將獲得一份可編輯且順序已打亂的清單,如下所示。


透過 Kutools 在 2 次點擊內隨機排序 Excel 清單

如果您厭倦了手動輸入公式,想透過增益集輕鬆達成目標,Kutools for Excel隨機排序或選擇功能不僅讓您更輕鬆執行隨機排序,還提供多元彈性選項!請依照下列步驟操作:

Kutools for Excel 提供超過 300 項進階功能,簡化複雜任務,激發創意並提升效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理變得輕而易舉。Kutools for Excel 詳細資訊……         免費試用……

首先,選取您要打亂順序的清單。接著點擊「Kutools」>「範圍」>「隨機排序或選擇」。在彈出的「隨機排序或選擇」對話方塊中,選取「整行」,然後點擊「確定」。

在對話框中選取「整列」選項以隨機排列清單

注意:

使用 VBA 隨機排序清單

如果您偏好透過 VBA 方法隨機排序清單,請依照下列步驟操作。

注意:執行 VBA 巨集後無法復原。因此,請務必在其他位置備份清單,以保留原始資料供日後使用。

步驟 1:選取您要打亂順序的清單

要隨機排列的清單已選取

步驟 2:將 VBA 程式碼複製到模組視窗

1. 按下「Ctrl」+「F11」開啟 VBA 編輯器,然後點選「插入」>「模組」,即可開啟模組程式碼視窗。

按一下 VBA 編輯器中的「插入 > 模組」

2. 將下方的 VBA 程式碼複製,並貼上至已開啟的模組視窗中。

Sub RandomSort()
'Update by ExtendOffice
Dim xRg As Range
Dim xNum, xF, xI As Integer
Dim xWSh, xAWSh As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xAWSh = Application.ActiveSheet
Set xRg = ActiveWindow.RangeSelection
Set xWSh = Worksheets.Add
xNum = xRg.Count
For xF = xNum To 1 Step -1
    xI = WorksheetFunction.RandBetween(1, xF)
    xWSh.Range("A1").Value = xRg.Item(xI)
    xRg.Item(xI) = xRg.Item(xF)
    xRg.Item(xF) = xWSh.Range("A1")
Next
xWSh.Delete
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

步驟 3:執行 VBA 程式碼

在程式碼視窗中,按下「F5」或點擊執行按鈕按鈕,立即執行此程式碼!

程式碼視窗中的執行按鈕

結果

清單已隨機排列

注意:若要再次隨機排序清單,請重複上述3.