跳到主要內容

在 Excel 中隨機化列表(簡單的分步教程)

執行隨機排序是一種快速簡便的方法,可確保您最終以相同的概率出現所有案例。 在本教程中,我們將討論如何通過幾個步驟在 Excel 中輕鬆隨機化或隨機排列列表。


視頻:在 Excel 中隨機化列表


使用函數隨機化列表

在本節中,我將教您如何使用內置的 Excel 函數對列表進行隨機排序。

使用 RAND 函數隨機化列表

任何 Excel 版本的用戶都可以使用 RAND 功能的幫助下 分類 功能,請按照以下步驟操作。

第一步:輸入RAND公式

選擇要隨機化的列表頂部單元格旁邊的單元格,輸入下面的 RAND 公式,然後按 Enter.

=RAND()

第 2 步:將 RAND 公式填充到其他單元格

雙擊公式單元格的填充柄(右下角的綠色小方塊),將公式應用到下面的單元格。

第 3 步:對 RAND 結果進行排序以打亂列表

1。 選擇 B2:B8,包含 RAND 公式的列表。

2。 點擊 排序和過濾 > 最小到最大排序 ,在 編輯 組上 首頁 標籤。

3.在彈出窗口中 排序警告 對話框中選擇 擴大選擇,然後點擊 分類.

結果

現在,一切就緒! 該列表是隨機的,如下所示。

注意: Excel RAND 函數 是易變的:它會在每次工作表更改時重新計算結果。 因此,B 列中的數字在排序後立即發生變化。 如果你想重新洗牌列表,重複上面的 步驟3. 否則,您可以簡單地使用 RAND 函數刪除該列。
使用 RANDARRAY、SORTBY 和 ROWS 函數隨機化列表 (Excel 365/2021)

如果您是較新 Excel 版本的用戶,例如 Excel for Microsoft 365 或 Excel 2021,或 Excel for the Web, 蘭德雷, 排序方式 公式將幫助您快速獲得在您指定的位置打亂的列表。

第 1 步:輸入 RANDARRAY、SORTBY 和 ROWS 公式

選擇一個你想得到隨機結果的空白單元格,輸入下面的公式(注意你應該改變 A2:A8 在下面的公式中添加到要隨機化的原始列表中)並按 Enter.

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

注意:
  • #灑 當溢出範圍(B2:B8 在這種情況下)因為公式不為空。
  • 該公式是易變的:它會在每次工作表更改時重新計算其結果。 如果您想再次洗牌,請按 F9.
  • 公式結果(隨機列表)不可編輯。 如果您需要編輯隨機列表,請執行下一步。

(可選)第 2 步:複製並粘貼公式結果以使其可編輯

如果你只想看到一個隨機結果,你可以 跳過此步驟. 如果你想編輯隨機打亂的列表,你應該只複製公式結果和粘貼值:

1. 選擇公式結果並按下 按Ctrl + C 複製它。

2. 右鍵單擊要粘貼複製結果的單元格。 (您也可以將該值粘貼到其原始位置。)

3。 選擇 僅粘貼值 右鍵單擊菜單中的選項。

結果

現在您將獲得一個經過打亂和可編輯的列表,如下所示。


單擊 2 次,使用 Kutools 在 Excel 中隨機化列表

如果您厭倦了使用公式並打算使用加載項的幫助, Excel的Kutools隨機排序/選擇範圍 功能可以幫助您使用更多選項更輕鬆地執行隨機排序。 請按如下方式:

首先,選擇您要洗牌的列表。 然後選擇 庫工具 > 範圍 > 隨機排序/選擇範圍。 在彈出窗口中 隨機排序/選擇範圍 對話框中選擇 整行,然後點擊 Ok.

注意:

使用 VBA 隨機化列表

如果您更喜歡使用 VBA 方法隨機化列表,請執行以下操作。

注意: 運行 VBA 宏後無法撤消。 因此,請在其他地方復制一份列表,以備日後需要原始數據時使用。

第 1 步:選擇您要洗牌的列表

第 2 步:將 VBA 代碼複製到模塊窗口

1。 按 Ctrl + F11鍵 打開 VBA 編輯器,然後單擊 插入 > 模塊 打開模塊代碼窗口。

2. 將下面的 VBA 代碼複製並粘貼到打開的模塊窗口中。

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.
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations