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

Excel 隨機資料:在 Excel 中產生隨機數字、文字、日期與時間

作者Xiaoyang修改日期

一般而言,隨機資料是指用於統計抽樣、資料加密、抽獎、測試或訓練等領域的一系列數字、文字字串或其他符號,這些應用皆需仰賴不可預測的結果。本文將介紹在 Excel 與 Excel 365 中產生隨機數字、文字字串、日期及時間的多種方法。

目錄:

1. 在 Excel 中快速產生亂數、文字、日期與時間

2. 在 Excel 365/2021 及更新版本中,輕鬆產生亂數、文字與日期

3. 防止隨機結果變動


在 Excel 中產生隨機數字、文字、日期與時間

本節將深入探討在 Excel 工作表中生成數字、文字字串、日期與時間的多元解決方案。

1.1 在 Excel 中產生隨機數字

若要在工作表中產生一個或多個隨機數字,常用的 RAND 或 RANDBETWEEN 函數就能提供極大幫助。除了公式之外,還有其他程式碼與簡易工具可協助您輕鬆達成目標。

使用 RAND 函數產生亂數

在兩個數字之間產生隨機小數

RAND 函數可用於產生 0 到 1 之間、0 到任意其他數字之間,或兩個指定數字之間的隨機小數。

公式說明
=RAND()產生一個介於 0 與 1 之間的隨機小數。
=RAND()*N產生介於 0 與 N 之間的隨機小數。
=RAND()*(B-A)+A產生您指定的任意兩個數字之間的隨機小數。(A 為下限值,而 B 為上限值。)

請複製上述所需公式,並將其套用至任意數量的儲存格,即可獲得如下圖所示的結果:

=RAND()=RAND()*50=RAND()*(100-50)+50
Excel 中公式 =RAND() 結果的螢幕截圖,顯示介於 0 與 1 之間的隨機小數Excel 中公式 =RAND()*50 結果的螢幕截圖,顯示介於 0 與 50 之間的隨機小數Excel 中公式 =RAND()*(100-50)+50 結果的螢幕截圖,顯示介於 50 與 100 之間的隨機小數

在兩個數字之間產生隨機整數

若要產生一些隨機整數,應如以下表格所示,將 RAND 與 INT 函數結合使用:

公式說明
=INT(RAND()*N)產生介於 0 到 N 之間的隨機整數。
=INT(RAND()*(B-A)+A)產生您指定的任意兩個數字之間的隨機整數。(A 為下限值,而 B 為上限值。)

請套用上述所需公式,然後依需求拖曳並複製公式至其他儲存格,即可獲得如下圖所示的結果:

=INT(RAND()*100)=INT(RAND()*(500-200)+200)
Excel 中公式 =INT(RAND()*100) 結果的螢幕截圖,顯示介於 0 與 100 之間的隨機整數Excel 中公式 =INT(RAND()*(500-200)+200) 結果的螢幕截圖,顯示介於 200 與 500 之間的隨機整數

使用 RANDBETWEEN 函數產生亂數

在 Excel 中,RANDBETWEEN 函數能協助您快速又輕鬆地產生隨機數字。

在兩個數字之間產生隨機整數

=RANDBETWEEN(bottom, top)
  • bottomtop:分別代表您希望取得的隨機數字範圍中的最小值與最大值。

例如,若您想在 100 與 200 之間產生隨機整數,請將下列公式套用至空白儲存格,然後依需求拖曳並複製公式至其他儲存格,參見下圖:

=RANDBETWEEN(100, 200)

Excel 中公式 =RANDBETWEEN(100, 200) 結果的螢幕截圖,顯示介於 100 與 200 之間的隨機整數

提示:此 RANDBETWEEN 函數也能產生正數與負數。若要在 -100 到 100 之間插入隨機數字,只需將下限值設為 ——100,範例如下:

=RANDBETWEEN(-100, 100)

Excel 中公式 =RANDBETWEEN(-100, 100) 結果的螢幕截圖,顯示介於 -100 與 100 之間的隨機整數


在兩個數字之間產生具有指定小數位數的隨機數字

若要建立具有指定小數位數的隨機數字,需將 RANDBETWEEN 公式修改如下:

  • 具有一位小數位數的隨機數字:=RANDBETWEEN(bottom*10, top*10)/10
  • 具有兩位小數位數的隨機數字:=RANDBETWEEN(bottom*100, top*100)/100
  • 具有三位小數位數的隨機數字:=RANDBETWEEN(bottom*1000, top*1000)/1000
  • 。。。

在此,我希望取得一組介於 10 與 50 之間、保留兩位小數位數的隨機數字,請套用下列公式,然後依需求拖曳並複製公式至其他儲存格,參見下圖:

=RANDBETWEEN(10*100, 50*100)/100

Excel 中公式 =RANDBETWEEN(10*100, 50*100)/100 結果的螢幕截圖,顯示介於 10 與 50 之間、保留兩位小數的隨機數字


使用自訂函數在兩個數值之間產生亂數

下列使用者自訂函數可協助您在工作表範圍內產生隨機整數,或指定小數位數的數字。請依照以下步驟操作:

1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 按一下 Insert>Module,並將下列程式碼貼到 Module 視窗中。

VBA 程式碼:產生隨機數字

Public Function RandomNumbers(Num1 As Long, Num2 As Long, Optional Decimals As Integer)
'Updateby Extendoffice
Application.Volatile
Randomize
If IsMissing(Decimals) Or Decimals = 0 Then
    RandomNumbers = Int((Num2 + 1 - Num1) * Rnd + Num1)
Else
    RandomNumbers = Round((Num2 - Num1) * Rnd + Num1, Decimals)
End If
End Function

3. 接著關閉程式碼並返回工作表,在空白儲存格中輸入公式 =RandomNumbers(X,Y,Z)

注意:在上述公式中,X 代表數字的下限,Y 代表數字的上限,而 Z 則為指定隨機數的小數位數,請依需求調整為對應數值。

1.)若要在 50 與 200 之間產生隨機整數,請使用下列公式:

=RandomNumbers(50,200,0)

2.)若要在 50 與 200 之間插入具有 2 位小數位數的隨機數字,請套用下列公式:

=RandomNumbers(50,200,2)

4. 最後,依需求拖曳並複製公式至其他儲存格,即可獲得如下圖所示的結果:

Excel 中自訂 VBA 公式 =RandomNumbers(50,200,0) 結果的螢幕截圖,顯示介於 50 與 200 之間的隨機整數Excel 中自訂 VBA 公式 =RandomNumbers(50,200,2) 結果的螢幕截圖,顯示介於 50 與 200 之間、保留兩位小數的隨機數字

一項實用功能,可在兩個數字之間產生亂數

若您厭倦了記憶與輸入公式,這裡推薦一個超實用功能── 插入隨機資料(屬於 )Kutools for Excel)!透過此功能,無需任何公式,即可輕鬆產生隨機整數或小數。

Kutools for Excel-內含超過 300 項 Excel 必備工具,讓您的 Excel 作業更快速、更簡單、更高效!立即下載!

1. 選取要產生隨機數字的儲存格範圍,然後按一下 Kutools>Insert> 插入隨機資料,參見下圖:

Kutools 在功能區「插入」索引標籤下的「插入隨機資料」選項螢幕截圖

2. 在插入隨機資料對話方塊中:

1.)產生隨機整數:

Integer 選項卡中,於 FromTo 方塊中輸入欲產生隨機整數的數字範圍,然後按一下 OkApply 按鈕,即可獲得如下圖所示的隨機整數:

「插入隨機資料」對話框在「整數」索引標籤下產生隨機整數的螢幕截圖

2.)產生具有特定小數位數的隨機數字:

Decimal 選項卡中,於 FromTo 方塊分別輸入欲產生隨機小數的範圍數值,並在 Decimal 位數文字方塊中設定所需的小數位數。設定完成後,點擊 OkApply 按鈕,即可立即產生隨機小數!參見下圖:

「插入隨機資料」對話框在「小數」索引標籤下產生隨機小數的螢幕截圖

提示:若要產生不重複的隨機小數,請勾選唯一值選項。


1.2 產生不重複的隨機數字(唯一隨機數字)

使用公式或程式碼產生隨機數字時,可能會出現重複的數字。若您希望建立一組不重複的隨機數字清單,本節將為您示範幾種實用方法。

使用陣列公式產生不重複的亂數

例如,我想在 100 到 200 之間產生不重複的隨機數字,以下是一個複雜的陣列公式可協助您達成目的,請依照下列步驟操作:

1. 在兩個儲存格中分別設定下限與上限值。本範例中,我將於 B2 與 B3 儲存格輸入 100 與 200,如截圖所示:

Excel 中在儲存格 B2 與 B3 輸入下限與上限以產生隨機數字的螢幕截圖

2. 接著,將下列公式複製到一個空白儲存格(例如 D3,但不要放在第一列的儲存格中),然後同時按下 Ctrl + Shift + Enter 鍵以取得第一個數字,如截圖所示:

=IFERROR(LARGE(ROW(INDIRECT($B$1&":"&$B$2))*NOT(COUNTIF($D$2:D2,ROW(INDIRECT($B$1&":"&$B$2)))),RANDBETWEEN(1,$B$2-$B$1-ROW(A1)+2)),"")

注意:在上述公式中,B1 為下限值,B2 為您希望產生隨機數字的上限值,而 D2 則是公式上方的儲存格。

Excel 中用於產生不重複隨機數字的陣列公式初始結果螢幕截圖

3. 接著,依需求向下拖曳並複製此公式至其他儲存格,即可在 100 與 200 之間產生隨機數字:

Excel 中使用陣列公式產生介於 100 與 200 之間的一組不重複隨機數字清單螢幕截圖


使用 VBA 程式碼產生不重複的亂數

若您覺得上述公式較難理解,也可使用下方的 VBA 程式碼,請照下列方式操作:

1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 點選插入 > 模組,並將下列程式碼貼上至模組視窗。

VBA 程式碼:產生不重複的隨機數字

Sub Range_RandomNumber()
'Updateby Extendoffice
Dim xStrRange As String
Dim xRg, xCell, xRg1 As Range
Dim xArs As Areas
Dim xNum_Lowerbound As Integer
Dim xNum_Upperbound  As Integer
Dim xI, xJ, xS, xR As Integer
xStrRange = "A1:B20"
xNum_Lowerbound = 100
xNum_Upperbound = 200
Set xRg = Range(xStrRange)
Set xArs = xRg.Areas
xRgCount = 0
For xI = 1 To xArs.Count
    Set xCell = xArs.Item(xI)
    xRgCount = xCell.Count + xRgCount
Next xI
xS = (xNum_Upperbound - xNum_Lowerbound + 1)
If xRgCount > xS Then
    MsgBox ("Number of cells greater than the number of unique random numbers!")
    Exit Sub
End If
    xRg.Clear
For xI = 1 To xArs.Count
    Set xCell = xArs.Item(xI)
    For xJ = 1 To xCell.Count
        Set xRg1 = xCell.Item(xJ)
        xR = Int(xS * Rnd + xNum_Lowerbound)
        Do While Application.WorksheetFunction.CountIf(xRg, xR) >= 1
            xR = Int(xS * Rnd + xNum_Lowerbound)
        Loop
        xRg1.Value = xR
    Next
Next
End Sub

注意:在上述程式碼中,xStrRange = "A1:B20" 表示您要在 A1:B20 範圍內產生隨機數字;xNum_Lowerbound = 100xNum_Upperbound = 200 則分別代表隨機數字的下限與上限。請根據您的需求調整這些數值!

3. 接著按下 F5 鍵執行此程式碼,即可將唯一的隨機數字插入至限定區域。


使用強大功能產生不重複的亂數

若要快速建立多個不重複的隨機數字,Kutools for Excel插入隨機資料功能提供了一個智慧選項── 唯一值。只要勾選這個小選項,就能輕鬆完成任務!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取您要產生隨機數字的儲存格範圍。

2. 接著點擊 Kutools> 插入> 插入隨機資料。在彈出的對話方塊中,請執行下列操作:

  • 整數選項卡中,於方框中,輸入您要產生隨機數字的數值範圍;
  • 勾選唯一值選項;
  • 接著點選確定套用按鈕,即可獲得如下方截圖所示的不重複隨機數字。

「插入隨機資料」對話框中勾選「唯一值」選項的螢幕截圖


1.3 在 Excel 中產生隨機偶數或奇數

若您想在儲存格範圍內產生一些隨機偶數或奇數,只需將 RANDBETWEEN 函數置於 EVEN 或 ODD 函數內即可,其通用語法如下:

公式說明
=EVEN(RANDBETWEEN(bottom,top))在兩個指定數字之間生成隨機偶數。
=ODD(RANDBETWEEN(bottom,top))在兩個指定數字之間產生一個隨機奇數。

例如,若要在 10 到 100 之間產生隨機偶數或奇數,請使用下列公式:

=EVEN(RANDBETWEEN(10,100))             (Generate random even numbers)
=ODD(RANDBETWEEN(10,100))             
 (Generate random odd numbers)

接著,透過拖曳填滿控點將公式複製到其他所需儲存格,即可獲得如下方截圖所示的結果:

Excel 中產生介於 10 與 100 之間的隨機偶數螢幕截圖Excel 中產生介於 10 與 100 之間的隨機奇數螢幕截圖

1.4 產生總和為指定值的隨機數字

有時您可能需要產生一組總和為特定數值的隨機數字。例如,我希望生成 5 個(或 n 個)介於 10 到 50 之間、且總和恰好為 100 的隨機數字,如下方截圖所示。為了解決 Excel 中這項挑戰,我將為您介紹兩種實用方法。

Excel 中產生介於 10 與 50 之間、總和為 100 的隨機數字螢幕截圖

使用公式產生總和為特定值的亂數

以下公式能協助您達成目標。由於公式稍顯複雜,請依照下列步驟逐步操作:

1. 首先,您應先建立所需資料:預定的總和值開始數字、結束數字,以及您想產生的隨機數字數量,如下方截圖所示:

Excel 中設定產生總和為特定值之隨機數字的螢幕截圖,包含最小值、最大值與總計

2. 接著,將下方公式複製到您要產生數字的空白儲存格中。在此範例中,我會將公式貼入 A4 儲存格,並按下 Enter 鍵,立即取得第一個隨機數字,如截圖所示:

=RANDBETWEEN(MAX($B$2,$A$2-(($D$2-ROWS($A$4:$A4))*$C$2)),MIN($C$2,$A$2-(($D$2-ROWS($A$4:$A4))*$B$2)))

注意:在上述公式中,A2 為指定的總和值;B2C2 為您希望產生隨機數字的上下限;D2 表示要產生的隨機數字數量;A4 為輸入此公式的儲存格。

Excel 中使用公式產生第一個隨機數字結果的螢幕截圖

3. 繼續將下列公式複製到 A5 儲存格,並按下 Enter 鍵以取得第二個隨機數字,如截圖所示:

=IF(ROW()=$D$2+3,$A$2-SUM($A$4:$A4),IF(ROW()>$D$2+3,"",RANDBETWEEN(MAX($B$2,$A$2-(SUM($A$4:$A4)+($D$2-ROWS($A$4:$A5))*$C$2)),MIN($C$2,$A$2-(SUM($A$4:$A4)+($D$2-ROWS($A$4:$A5))*$B$2)))))

注意:在上述公式中:A2 為指定的總和值;B2C2 為您希望產生隨機數字的上下限;D2 表示要產生的隨機數字數量;A4 為輸入第一個公式的儲存格;而 A5 則為輸入第二個公式的儲存格。

Excel 中使用公式產生第二個隨機數字及更新後結果的螢幕截圖

4. 接著,選取第二個產生的數字,向下拖曳以將公式複製到下方三個儲存格。現在,您就能獲得 5 個隨機數字,如下方截圖所示:

Excel 中產生總和為特定值的最終隨機數字組合螢幕截圖

5. 為驗證結果,您可以加總這些數字,確認總和是否為 100. 按下 F9 即可動態重新整理隨機數字,且總和始終維持為 100!

Excel 中驗證隨機產生數字總和的螢幕截圖


利用強大功能產生總和為特定值的隨機數字組合

我們可以使用上述公式來產生符合需求的隨機數字。然而,若您希望列出所有由指定數字組成、且總和為特定值的可能組合,我在此推薦一個超實用工具──Kutools for Excel!透過其湊數功能,立即取得所有總和等於目標值的數字組合,輕鬆又高效!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 首先,請先列出指定的數字。在此範例中,我們列出了介於 10 到 50 之間的所有數字,如下方截圖所示:

Excel 中用於找出總和為特定值之組合的介於 10 與 50 之間數字清單螢幕截圖

2. 接著,點擊 Kutools> 內容> 凑數,如截圖所示:

Excel 中 Kutools 索引標籤「內容」群組下的「組成指定數字」選項螢幕截圖

3. 在彈出的凑數對話方塊中,請執行下列操作:

  • 源區域方框中,選取欲找出哪些數字加總等於 100 的數字清單;
  • 選項區段中,於「總和」文字方塊輸入目標總值。此處我們輸入了 100
  • 若您希望將結果列出至新工作表,請勾選保存在新表中選項;
  • 點擊確定按鈕。請參閱截圖:

「組成指定數字」對話框設定產生總和為 100 之數字組合的螢幕截圖

4. 處理完成後,您將看到所有由 10 至 50 之間的數字組成、且總和為 100 的隨機數字組合,如下所列。

使用 Kutools 產生所有總和為 100 之隨機數字組合結果的螢幕截圖

提示:您可以選擇性地設定每組合中包含的亂數個數與組合總數。例如,若要產生 10 組、每組包含 5 個亂數的結果,可在對話方塊中於高級設置下方進行如下設定:

Excel 中「組成指定數字」對話框進階設定,可指定組合數量與每組數字個數的螢幕截圖

您將獲得如下結果:

根據進階設定產生的隨機數字組合結果螢幕截圖


1.5 使用公式產生隨機字母與文字字串

本節將示範如何在 Excel 中產生隨機字母,例如 A 到 Z 的大寫字母、a 到 z 的小寫字母,或特定特殊字元(! “ # $ % & ‘ ( ) * + , - 。 /)。

使用公式產生隨機字母與文字字串

在 Excel 中,您可以結合 CHAR 與 RANDBETWEEN 函數,並搭配部分 ANSI 字元碼來創建公式,如下所示:

公式說明
=CHAR(RANDBETWEEN(65, 90))產生介於 A 到 Z 之間的隨機大寫字母。
=CHAR(RANDBETWEEN(97, 122))產生 a 到 z 之間的隨機小寫字母。
=CHAR(RANDBETWEEN(33, 47))產生隨機特殊字元,例如:! “ # $ % & ‘ ( ) * + , - 。 /

請套用上述任一所需公式,並將該公式複製至所需數量的儲存格中,即可獲得如下圖所示的結果:

=CHAR(RANDBETWEEN(65, 90))=CHAR(RANDBETWEEN(97, 122))=CHAR(RANDBETWEEN(33, 47))
Excel 中使用公式 =CHAR(RANDBETWEEN(65,90)) 產生隨機大寫字母的螢幕截圖Excel 中使用公式 =CHAR(RANDBETWEEN(97,122)) 產生隨機小寫字母的螢幕截圖Excel 中使用公式 =CHAR(RANDBETWEEN(33,47)) 產生隨機特殊字元的螢幕截圖

提示:若您想產生由多個字母組成的隨機文字字串,只需依需求用 & 符號串接各字母即可。

1)若要產生包含四個大寫字母的隨機字串,請套用下列公式:

=CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(65,90))

Excel 中使用組合公式產生四個大寫字母組成的隨機字串螢幕截圖

2)若要產生包含四個小寫字母的隨機字串,請套用下列公式:

=CHAR(RANDBETWEEN(97,122))& CHAR(RANDBETWEEN(97,122)) & CHAR(RANDBETWEEN(97,122)) & CHAR(RANDBETWEEN(97,122))

3)若要產生前兩個為大寫字母、後兩個為小寫字母的隨機字串,請使用下列公式:

=CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(97,122)) & CHAR(RANDBETWEEN(97,122))

您可運用簡單的公式搭配「&」符號,靈活組合出符合需求的各式字串。


使用實用功能產生隨機字母與文字字串

若您已安裝 Kutools for Excel,無需記憶任何公式,即可快速輕鬆產生隨機字母與字串!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取要插入字母或字串的儲存格範圍。

2. 接著點選 Kutools> 插入> 插入隨機資料,在彈出的對話方塊中,請執行下列操作:

  • 按一下字串選項卡;
  • 勾選 a-zA-Z,或同時勾選兩者,以插入您需要的字元;
  • 接著,在根據字串長度篩選文字方框中,指定您想要的字串長度;
  • 最後,點擊確定套用,即可插入如下方截圖所示的字串。

Excel 中用於產生隨機字母與字串的「插入隨機資料」對話框螢幕截圖


1.6 在 Excel 中以英數字元產生隨機密碼

建立密碼時,請務必使用至少 8 個字元,並混合大寫字母、小寫字母、數字及部分特殊字元,以確保安全性。本節將為您介紹幾種在 Excel 中快速產生隨機密碼的實用技巧。

使用公式產生包含英數字元的隨機密碼

例如,此處將建立長度為 8 個字元的隨機密碼。您只需結合使用公式產生隨機字母與文字字串一節所提供的三個公式,即可輕鬆完成!

請將下列公式複製到空白儲存格中:

=CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(97,122))&CHAR(RANDBETWEEN(97,122))&CHAR(RANDBETWEEN(65,90))&RANDBETWEEN(100,999)&CHAR(RANDBETWEEN(33,47))

注意:在上述公式中,第一組 CHAR 與 RANDBETWEEN 函數用於產生一個隨機大寫字母,第二與第三組運算式各產生一個小寫字母,第四組運算式產生一個大寫字母,第五組運算式產生介於 100 與 999 之間的三位數,最後一組則用於產生特殊字元。您可以根據需求自由調整或修改這些元件的順序。

Excel 中使用結合 CHAR 與 RANDBETWEEN 函數的公式產生隨機密碼的螢幕截圖


使用自訂函數產生包含英數字元的隨機密碼

若要在 Excel 中插入隨機密碼,下列使用者自訂函數也能協助您達成目的,請依下列步驟操作:

1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 點選插入> 模組,並將下列巨集貼到模組視窗中。

VBA 程式碼:在 Excel 中產生隨機密碼

Function RandomizeF(Num1 As Integer, Num2 As Integer)
'Updateby Extendoffice
Dim Rand As String
Application.Volatile
getLen = Int((Num2 + 1 - Num1) * Rnd + Num1)
Do
    i = i + 1
    Randomize
    Rand = Rand & Chr(Int((85) * Rnd + 38))
Loop Until i = getLen
RandomizeF = Rand
End Function

3. 接著關閉程式碼並返回工作表,在儲存格中輸入公式 =RandomizeF(8,10),即可產生長度介於 8 到 10 個字元之間的隨機文字字串。

4. 接著依需求向下拖曳並複製公式至其他儲存格,系統將自動產生長度介於 8 到 10 之間、包含英數字元與特殊符號的隨機字串。請參閱截圖:

使用 VBA 函數 RandomizeF 產生隨機密碼的螢幕截圖


使用簡易功能產生包含英數字元的隨機密碼

想在 Excel 中快速產生多組隨機密碼?Kutools for Excel 提供強大功能「插入隨機資料」,只需點擊幾下,立即生成隨機密碼,輕鬆又高效!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取要插入密碼的儲存格範圍。

2. 接著點選 Kutools> 插入> 插入隨機資料。在彈出的對話方塊中,請執行下列操作:

  • 按一下字串選項卡;
  • 根據需求勾選所需字元類型;
  • 接著,在根據字串長度篩選文字方框中,指定您想要的密碼長度;
  • 最後,點擊確定套用,即可產生如下方截圖所示的密碼。

使用 Kutools「插入隨機資料」功能產生隨機密碼的螢幕截圖


1.7 在 Excel 中產生隨機特定文字

您是否曾想在 Excel 中隨機顯示或列出特定的文字值?例如,從指定文字(如 item 1、item 2、item 3、item 4、item 5)中隨機選取並填入儲存格清單?以下兩種技巧能輕鬆幫您達成目標!

使用公式產生指定的隨機文字

在 Excel 中,您可以建立基於 CHOOSE 與 RANDBETWEEN 函數的公式,以隨機列出特定文字,其通用語法如下:

=CHOOSE(RANDBETWEEN(1,n),"Value_1","Value_2","Value_3",…"Value_n")
  • Value_1、Value_2、Value_3、Value_n:代表您要隨機列出的文字值;
  • n:您要使用的文字值數量。

請將下列公式套用至空白儲存格,然後向下拖曳填滿控點,將公式填入欲隨機列出特定值的儲存格中,請參閱截圖:

=CHOOSE(RANDBETWEEN(1,5),"Chemistry","Physics","Geography","Biology","Economics")

Excel 中使用 CHOOSE 與 RANDBETWEEN 函數產生隨機特定文字的螢幕截圖


使用快速方法產生指定的隨機文字

若您已安裝 Kutools for Excel,即可使用其插入隨機資料功能,在儲存格範圍內輕鬆插入自訂文字值!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取要插入特定文字的儲存格範圍。

2 接著點選 Kutools> 插入> 插入隨機資料,在彈出的對話方塊中,請執行下列操作:

  • 按一下自定義列表選項卡;
  • 接著,按一下新增按鈕按鈕,即可開啟另一個 Kutools for Excel 提示方塊,輸入或選取您要隨機列出的自訂文字值。(手動輸入時,各項目請以逗號分隔。)

「插入隨機資料」對話框中輸入自訂文字值的 Kutools for Excel 提示方塊螢幕截圖

3. 接著點選確定,返回插入隨機資料對話方塊後,您自訂的文本列表將顯示於清單方塊中。現在,選取新的清單項目,並點選確定套用按鈕,即可將值隨機插入所選儲存格中!

Excel 中使用 Kutools「插入隨機資料」功能將自訂隨機文字插入範圍的螢幕截圖

提示:若要隨機列出指定文字且不重複,請勾選唯一值選項。


1.8 在 Excel 中從清單產生或選取隨機值

假設您有一份長串姓名清單,需要從中隨機挑選若干位幸運得主或研究對象(如下圖所示),該如何在 Excel 中輕鬆達成?

Excel 中待隨機挑選的長姓名清單螢幕截圖

使用 INDEX、RANDBETWEEN 與 ROWS 函數從清單中產生隨機值

在 Excel 中,雖然無法直接從清單中提取隨機值,但可以透過結合 INDEX、RANDBETWEEN 與 ROWS 函數,建立公式來抽取多個隨機值。

1. 請將下列公式複製到您想提取數值的空白儲存格中:

=INDEX($A$2:$A$12,RANDBETWEEN(1,ROWS($A$2:$A$12)),1)

注意:在上述公式中,A2:A12 為您欲從中挑選隨機值的資料清單。

2. 接著向下拖曳填滿控點至多個儲存格,即可顯示隨機值,結果如下圖所示:

Excel 中使用 INDEX、RANDBETWEEN 與 ROWS 函數從清單提取隨機姓名的螢幕截圖


使用 INDEX 與 RANK.EQ 函數從清單中產生不重複的隨機值

使用上述公式時,可能會出現重複值。若要跳過這些重複值,請先建立一個輔助欄,再套用結合 INDEX 與 RANK.EQ 函數的公式。請依照下列步驟操作:

1. 請在空白儲存格中輸入下列公式,即可取得一組亂數清單,詳情請見截圖:

=RAND()

Excel 中作為輔助欄位、用於唯一選擇的隨機數字清單螢幕截圖

2. 接著,在您想提取部分隨機值的另一欄儲存格中,貼上以下公式,再向下拖曳複製至其他儲存格,即可顯示不重複的隨機值,詳見截圖:

=INDEX($A$2:$A$12,RANK.EQ($B2,$B$2:$B$12))

注意:在上述公式中,A2:A12 是您要從中產生隨機值的資料清單,B2 是輔助欄的第一個儲存格,而 B2:B12 則是您在步驟 1 中建立的輔助公式範圍。

Excel 中使用 INDEX 與 RANK.EQ 函數選擇不重複隨機姓名的螢幕截圖


儲存格、列、欄(範圍內)—透過強大功能輕鬆處理

在此推薦一個超實用功能——隨機排序或選擇,內建於 Kutools for Excel!透過此功能,您可依需求輕鬆隨機選取儲存格、列或欄,提升工作效率,不容錯過!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取您要從中隨機抽取數值的儲存格清單。

2. 接著,點擊 Kutools > 範圍 > 隨機排序或選擇,詳見截圖:

Excel 中 Kutools 索引標籤的「隨機排序/選擇範圍」功能螢幕截圖

3. 在隨機排序或選擇對話方塊中,請執行下列操作:

  • 按一下選取選項卡;
  • 接著,在選取的儲存格數方框中,輸入您要隨機選取的儲存格數量;
  • 選中類型區段中,選擇您需要的作業項目。在此範例中,我將選擇儲存格選項。
  • 然後,按一下確定套用按鈕,即可一次隨機選取五個儲存格,請參閱截圖:

使用 Kutools「隨機排序/選擇範圍」功能隨機選擇儲存格的結果螢幕截圖

4. 選取儲存格後,即可依需求複製並貼上至其他儲存格,輕鬆完成編輯!


1.9 在 Excel 中隨機分配資料至各組

假設您有一份姓名列表,現在希望將這些姓名隨機分成三組(A 組、B 組、C 組),如下圖所示。本節將介紹幾種在 Excel 中實現此任務的公式。

Excel 中將姓名隨機分成三組的螢幕截圖

使用公式將資料隨機分配至群組

若要將人員隨機分配至指定群組,可搭配使用 CHOOSE 函數與 RANDBETWEEN 函數。

1. 請將下列公式複製或輸入至您欲建立群組的儲存格中:

=CHOOSE(RANDBETWEEN(1,3),"Group A","Group B","Group C")

注意:在上述公式中,Group AGroup BGroup C 代表您要分配的分組名稱,而數字 3 則表示要分成幾組。

2. 接著,向下拖曳填滿控點,將此公式套用至其他儲存格後,姓名就會如以下截圖所示分成三組:

Excel 中使用 CHOOSE 與 RANDBETWEEN 函數進行隨機分組指派的螢幕截圖


使用公式將資料隨機且平均地分配至各群組

若您希望所有群組人數均等,上述公式將無法正確運作。此時,您可以先使用 RAND 函數建立一個包含隨機值的輔助欄,再套用結合 INDEX、RANK 與 ROUNDUP 函數的公式。

例如,我在儲存格 F2:F4 中列出您要據以分配的分組名稱。若要將人員分配至各組(A 組、B 組、C 組),且每組包含 4 位參與者,請依照以下步驟操作:

1. 在空白儲存格中輸入公式:=RAND(),即可產生一組隨機數字,詳見截圖:

Excel 中作為輔助欄位、用於將資料平均分組的隨機數字螢幕截圖

2. 接著,在下一欄(例如儲存格 D2)中,複製或輸入下列公式:

=INDEX($F$2:$F$4, ROUNDUP(RANK(C2,$C$2:$C$13)/4,0))

注意:在上述公式中,C2 是輔助欄的第一個儲存格,C2:C13 是您於步驟 1 中建立的輔助公式範圍;數字 4 代表每組應包含的姓名數量;F2:F4 則為包含您欲用於資料分組之名稱的儲存格範圍。

3. 向下拖曳填滿控點,即可為資料清單產生隨機群組,姓名將自動平均分配至各組,詳見截圖:

Excel 中使用公式將姓名平均分成三組的螢幕截圖


1.10 在 Excel 中產生隨機日期

若要在兩個指定日期之間隨機產生一個日期,以下為您介紹幾種實用方法。

使用公式在兩個指定日期之間產生隨機日期

例如,我希望在 2021 年 5 月 1 日至 2021 年 10 月 15 日之間隨機產生一些日期。一般而言,在 Excel 中可結合使用 RANDBETWEEN 與 DATE 函數來完成此任務,請依照以下步驟操作:

1. 選取您要插入隨機日期的儲存格,並輸入下列公式:

=RANDBETWEEN(DATE(2021, 5, 1),DATE(2021, 10, 15))

注意:在此公式中,2021、5、1 為起始日期,2021、10、15 為結束日期,您可依需求替換。

2. 接著,向下拖曳並複製此公式至其他需填入公式的儲存格,儲存格中將顯示如以下截圖所示的五位數字:

使用 RANDBETWEEN 函數產生五位數字作為隨機日期的螢幕截圖

3. 接著,您應將這些數字格式化為日期格式。請選取公式儲存格,按一下右鍵,從快捷選單中選擇設定儲存格格式

4. 在設定儲存格格式對話方塊中,點擊數字頁籤,並從日期類別的窗格中選取您需要的日期格式,詳見截圖:類型下拉列表。

Excel 中用於將數字格式化為日期的「儲存格格式」對話框螢幕截圖

5. 點擊確定關閉對話方塊,這些數字現已轉換為一般日期格式。詳見截圖:

Excel 中格式化後產生介於 2021-5-1 與 2021-10-15 之間的隨機日期螢幕截圖

提示:若您希望產生排除週末的隨機工作日,下方公式或許能協助您:

=WORKDAY(RANDBETWEEN(DATE(2021, 5, 1),DATE(2021, 10, 15))-1,1)

使用驚人功能在兩個指定日期之間產生隨機日期

Kutools for Excel插入隨機資料功能也提供選項,讓您輕鬆在兩個指定日期之間產生隨機日期、工作日或週末!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取您要插入隨機日期的儲存格範圍。

2. 接著點擊 Kutools> 插入> 插入隨機資料,在彈出的對話方塊中,請執行下列操作:

  • 按一下日期選項卡;
  • 接著,指定日期範圍。在此範例中,我將選擇從 2021 年 5 月 1 日2021 年 10 月 15 日
  • 接著,選擇日期類型-工作日週末,或依需求同時勾選兩者。
  • 最後,點擊確定套用,即可隨機產生如下方截圖所示的日期。

使用 Kutools 在兩個日期之間產生隨機工作日的螢幕截圖

提示:若要產生不重複的隨機日期,請勾選唯一值選項。


1.11 在 Excel 中產生隨機時間

在插入隨機數字、文字字串與日期後,本節將為您介紹幾種在 Excel 中輕鬆產生隨機時間的實用技巧。

使用公式產生隨機時間

使用公式產生隨機時間

若要在儲存格範圍內產生隨機時間,可運用結合 TEXT 與 RAND 函數的公式輕鬆達成。

請在空白儲存格中輸入下方公式,然後向下拖曳並複製該公式至其他儲存格以取得時間,詳見截圖:

=TEXT(RAND(),"HH:MM:SS")

Excel 中使用 TEXT 與 RAND 函數產生隨機時間的結果螢幕截圖


使用公式在兩個指定時間之間產生隨機時間

若您需要在兩個特定時間之間(例如從 10 點至 18 點)隨機插入時間,請套用下方公式:

=TEXT(RAND()*(18-10)/24+10/24,”HH:MM:SS”)

注意:在上述公式中,數字 18 代表結束時間,10 則為開始時間,您可依需求靈活調整!

接著,向下拖曳並複製公式至其他儲存格,即可在兩個指定時間範圍之間產生隨機時間,詳見截圖:

使用公式產生介於上午 10 點至下午 6 點之間隨機時間的螢幕截圖


使用公式以特定間隔產生隨機時間

例如,若您希望在 Excel 中以特定間隔(如每 15 分鐘)產生隨機時間,可結合使用 RAND 與 FLOOR 函數,並嵌入 TEXT 函數中來達成此任務。

將下方公式複製或輸入至空白儲存格,然後拖曳並複製此公式至您希望產生隨機時間的儲存格,請參閱截圖:

=TEXT(FLOOR(RAND(),"0:15"),"HH:MM:SS")

注意:公式中的數字 15 代表時間間隔;若需以 30 分鐘為間隔產生隨機時間,只需將 15 替換為 30 即可。

Excel 中使用公式產生以 15 分鐘為間隔的隨機時間螢幕截圖


使用實用功能在兩個指定時間之間產生隨機時間

如果您已安裝 Kutools for Excel,可使用其插入隨機資料功能,在工作表中輕鬆於指定時間範圍內產生隨機時間!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取要產生時間戳記的儲存格範圍。

2. 接著點擊 Kutools> 插入> 插入隨機資料,在彈出的對話方塊中,請執行下列操作:

  • 按一下時間選項卡;
  • 接著,指定時間範圍。在此範例中,我將選擇從 上午 9:00下午 4:30.
  • 最後,點擊確定套用,即可立即產生如下方截圖所示的隨機時間!

Kutools for Excel 使用「插入隨機資料」工具產生介於上午 9:00 至下午 4:30 之間隨機時間的螢幕截圖


使用公式在兩個日期時間之間產生隨機日期與時間

若您希望同時生成隨機的日期與時間,可使用下列公式。

1. 將下列公式輸入或複製到您希望產生隨機日期與時間的儲存格:

=TEXT(RAND()*("2021-10-15 12:00:00"-"2021-1-1 9:00")+"2021-1-1 9:00:00","YYYY-MM-DD HH:MM:SS")

注意:在此公式中,2021-10-15 12:00:00 為結束日期與時間,2021-1-1 9:00:00 為開始日期與時間,您可依需求自由調整這些數值。

2. 接著,將此公式拖曳並複製到其他您希望顯示隨機日期與時間的儲存格,請參閱截圖:

Excel 中使用公式產生介於 2021-01-01 9:00:00 與 2021-10-15 12:00:00 之間的隨機日期時間值螢幕截圖


在 Excel 365 / 2021 及更新版本中產生隨機數字、文字與日期

本節將說明如何在 Excel 365、Excel 2021 及後續版本中,運用全新的動態陣列函數 RANDARRAY,輕鬆產生隨機數字與日期,並實現資料的隨機選取與分組。

RANDARRAY 函數可傳回您指定範圍內任意兩個數字之間的隨機數字陣列。

RANDARRAY 函數的語法如下:

=RANDARRAY([rows],[columns],[min],[max],[integer])
  • rows(選用):要傳回的隨機數字列數;(若省略,預設值 =1)
  • columns(選用):要傳回的隨機數字欄數;(若省略,預設值 =1)
  • min(選用):要傳回的最小數字;(若省略,預設值 =0)
  • max(選用):要傳回的最大數字;(若省略,預設值 =1)
  • integer(選用):指定傳回整數或十進位數值。TRUE 表示傳回整數,FALSE 表示傳回十進位數值。(若省略,預設值為 FALSE)
注意事項:
  • 1。RANDARRAY 函數包含五個選用引數;若未指定任何引數,將傳回介於 0 與 1 之間的十進位數值。
  • 2. 若列數或欄數參數為十進位數字,系統將自動捨去小數部分,僅保留整數(例如:3.9 會視為 3)。
  • 3. 最小值必須小於最大值,否則將傳回 #VALUE! 錯誤。
  • 4. 此 RANDARRAY 函數會傳回一個陣列;當它在工作表中產生多個結果時,這些結果將自動溢出至相鄰的儲存格。

2.1 在 Excel 365 / 2021 及更新版本中產生隨機數字

若要在 Excel 365、Excel 2021 及未來版本中產生隨機整數或小數,請善用全新推出的 RANDARRAY 函數!

使用公式在兩個數字之間產生亂數

若要建立特定範圍內的隨機數字清單,請套用下列公式:

請依需求輸入下方任一公式,然後按下 Enter 鍵以取得結果,請參閱截圖:

=RANDARRAY(6, 4, 50, 200, TRUE)               (Generate random integers between 50 and 200)
=RANDARRAY(6, 4, 50, 200, FALSE)           
 (Generate random decimals between 50 and 200)
注意:上述公式中:
  • 6:表示傳回 6 列隨機數字;
  • 4:表示傳回 4 欄隨機數字;
  • 50200:您希望產生數字範圍的最小值與最大值;
  • TRUE:表示傳回整數;
  • FALSE:表示傳回十進位數字。
使用 RANDARRAY 函數產生介於 50 與 200 之間隨機整數的螢幕截圖Excel 中使用 RANDARRAY 函數產生介於 50 與 200 之間隨機小數的螢幕截圖

使用公式產生不重複的亂數

使用一般的 RANDARRAY 函數產生隨機數字時,可能會出現重複值。為避免重複,以下提供幾種解決此問題的實用公式。

產生不重複的隨機數字清單

若要隨機產生一欄或一列不重複的唯一數字,通用語法如下:

不重複的隨機整數:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, TRUE)), SEQUENCE(n))

不重複的隨機小數:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, FALSE)), SEQUENCE(n))
  • n:您要產生的數值數量;
  • min:最小值;
  • max:最大值。

例如,此處我將插入一組 8 個從 50 到 100 的不重複隨機數字,請套用下方任一公式,然後按下 Enter 鍵以取得結果:

=INDEX(UNIQUE(RANDARRAY(8^2, 1, 50, 100, TRUE)), SEQUENCE(8))          (Unique random integers)
=INDEX(UNIQUE(RANDARRAY(8^2, 1, 50, 100, FALSE)), SEQUENCE(8))         
(Unique random decimals)
注意:上述公式中:
  • 8:表示傳回 8 個隨機數字;
  • 50100:您希望產生數字範圍的最小值與最大值。
  • TRUE:表示傳回整數;
  • FALSE:表示傳回十進位數字。
Excel 中使用 UNIQUE 與 RANDARRAY 函數產生不重複隨機整數清單的螢幕截圖Excel 中使用 UNIQUE 與 RANDARRAY 函數產生不重複隨機小數清單的螢幕截圖

產生範圍內不重複的隨機數字

若您希望在儲存格範圍內產生不重複的隨機數字,只需在 SEQUENCE 函數中定義列數與欄數即可,通用語法如下:

若要隨機產生一欄或一列不重複的唯一數字,通用語法如下:

不重複的隨機整數:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, TRUE)), SEQUENCE(rows, columns))

不重複的隨機小數:

=INDEX(UNIQUE(RANDARRAY(n^2, 1, min, max, FALSE)), SEQUENCE(rows, columns))
  • n:要插入數字的儲存格數量,可輸入為列數 × 欄數;例如,若要填滿 8 列和 3 欄,請使用 24^2.
  • rows:要填滿的列數;
  • columns:要填滿的欄數;
  • min:最小值;
  • max:最大值。

此處我將在 8 列 3 欄的範圍內填入從 50 到 100 的不重複隨機數字,請套用下方任一公式:

=INDEX(UNIQUE(RANDARRAY(24^2, 1, 50, 100, TRUE)), SEQUENCE(8,3))          (Unique random integers)
=INDEX(UNIQUE(RANDARRAY(24^2, 1, 50, 100, FALSE)), SEQUENCE(8,3))         
(Unique random decimals)
注意:上述公式中:
  • 24:表示傳回 24 個隨機數字,即 8 與 3 的乘積(列數*欄數);
  • 50100:您希望產生數字範圍的最小值與最大值;
  • TRUE:表示傳回整數;
  • FALSE:表示傳回十進位數字。
Excel 中使用 RANDARRAY 函數在 8 列 3 欄的網格中產生不重複隨機整數的螢幕截圖Excel 中使用 RANDARRAY 函數在 8 列 3 欄的網格中產生不重複隨機小數的螢幕截圖

2.2 在 Excel 365 / 2021 及更新版本中產生隨機日期

透過全新的 RANDARRAY 函數,您還能在 Excel 中快速又輕鬆地產生多個隨機日期或工作日。

使用公式在兩個日期之間產生隨機日期

若要建立介於兩個特定日期之間的隨機日期清單,可套用下方公式:

1. 在空白儲存格中輸入下列公式以產生隨機日期,按下 Enter 鍵後,即可獲得一組五位數字,請參閱截圖:

=RANDARRAY(10, 1, B1, B2, TRUE)
注意:上述公式中:
  • 10:表示傳回 10 列隨機日期;
  • 1:表示傳回 1 欄隨機日期;
  • B1B2:這兩個儲存格分別包含您要產生日期範圍的起始日期與結束日期。

Excel 中使用 RANDARRAY 在兩個日期之間產生五位數隨機日期的螢幕截圖

2. 接著,請將這些數字格式化為一般日期格式:選取數字後,按一下滑鼠右鍵,並從內容功能表中選擇設定儲存格格式。在隨即開啟的設定儲存格格式對話方塊中,請執行下列操作:

  • 按一下 Number 選項卡;
  • 接著按一下 Date,位於 Category 窗格中;
  • 接著,從 Type 清單方塊中選取您偏好的日期格式。

Excel 中用於將隨機數字格式化為日期的「儲存格格式」對話框螢幕截圖

3. 接著點擊 OK 按鈕,這些數字就會依照您指定的日期格式自動套用,詳情請參閱截圖:

Excel 中格式化後產生介於 2021 年 5 月 1 日至 2021 年 12 月 31 日之間的隨機日期螢幕截圖

提示:當然,您也可以直接在公式中輸入開始日期與結束日期,如下所示:

=RANDARRAY(10, 1, "5/1/2021", "12/31/2021", TRUE)

使用公式在兩個日期之間產生隨機工作日

若要在儲存格範圍內產生隨機的工作日,請將 RANDARRAY 函數嵌入至 WORKDAY 函數中。

1. 將下方公式輸入或複製到空白儲存格,按下 Enter 鍵,即可立即取得如截圖所示的一組數字:

=WORKDAY(RANDARRAY(10, 1, B1, B2, TRUE), 1)

Excel 中使用 RANDARRAY 與 WORKDAY 函數產生隨機工作日數字的螢幕截圖

2. 接著,在設定儲存格格式對話方塊中,將這些數字格式化為您所需的特定日期格式,即可獲得如下方截圖所示的效果:

Excel 中格式化為日期的隨機工作日螢幕截圖

提示:您也可以直接在公式中輸入開始日期與結束日期,如下所示:

=WORKDAY(RANDARRAY(10, 1, "5/1/2021", "12/31/2021", TRUE), 1)

2.3 在 Excel 365 / 2021 及更新版本中從清單產生或取得隨機值

在 Excel 365、Excel 2021 及未來版本(例如 Excel 2024)中,若您希望從儲存格清單中產生或傳回隨機值,本節將為您介紹實用的公式。

使用公式從清單中產生或取得隨機值

若要從儲存格清單中提取隨機值,可搭配使用 RANDARRAY 函數與 INDEX 函數,通用語法如下:

=INDEX(data, RANDARRAY(n, 1, 1, ROWS(data), TRUE))
  • data:您要從中抽取隨機項目的數值清單;
  • n:您希望抽取的隨機項目數量。

例如,若要從名稱列表 A2:A12 中提取 3 個名稱,請使用下方公式:

=INDEX(A2:A12, RANDARRAY())C2, 1, 1, ROWS(A2:A12), TRUE))             (Use a cell reference)
=INDEX(A2:A12, RANDARRAY())3, 1, 1, ROWS(A2:A12), TRUE))                 
(Type a number directly)

接著按下 Enter 鍵,即可立即隨機取得 3 個名稱,請參閱截圖:

Excel 中從清單提取隨機姓名的螢幕截圖


使用公式從清單中產生或取得不重複的隨機值

使用上述公式時,您可能會遇到重複的結果。若要從清單中隨機選取且確保無重複,通用語法如下:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n))
  • 資料:您要從中抽取隨機項目的數值清單;
  • n:您希望抽取的隨機項目數量。

若您需要從名稱列表 A2:A12 中隨機傳回 5 個名稱,請輸入或複製下方任一公式:

=INDEX(SORTBY(A2:A12, RANDARRAY(ROWS(A2:A12))), SEQUENCE())C2))(Use a cell reference)
=INDEX(SORTBY(A2:A12, RANDARRAY(ROWS(A2:A12))), SEQUENCE())5))
(Type a number directly)

接著按下 Enter 鍵,即可從清單 A2:A12 中取得 5 個不重複的隨機名稱,請參閱截圖:

Excel 中從清單提取不重複隨機姓名的螢幕截圖


2.4 在 Excel 365 / 2021 及更新版本中從範圍產生或整列

有時您可能需要從 Excel 的儲存格範圍中隨機挑選若干列資料。為達成此目標,以下將介紹幾個實用公式。

使用公式從範圍產生或整列

從儲存格範圍中產生隨機列的通用語法如下:

=INDEX(data, RANDARRAY(n, 1, 1, ROWS(data), TRUE), {1,2,3…})
  • data:您要從中抽取隨機列的儲存格範圍;
  • n:您希望抽取的隨機列數量;
  • {1,2,3…}:要提取的欄位編號。

若要從範圍 A2:C12 中提取 3 列資料,請使用下列任一公式:

=INDEX(A2:C12, RANDARRAY())E2, 1, 1, ROWS(A2:C12), TRUE), {1,2,3})               (Use a cell reference)
=INDEX(A2:C12, RANDARRAY())3, 1, 1, ROWS(A2:C12), TRUE), {1,2,3})                 
(Type a number directly)

接著按下 Enter 鍵,即可從範圍 A2:C12 中取得 3 列隨機資料,請參閱截圖:

Excel 中從範圍提取 3 列隨機資料的螢幕截圖


使用公式從範圍產生或整列(無重複)

同樣地,上述公式也可能產生重複資料。為避免重複列的出現,您可以使用以下通用語法:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n), {1,2,3…})
  • 資料:您要從中抽取隨機列的儲存格範圍;
  • n:您希望抽取的隨機列數量;
  • {1,2,3…}:欲抽取的欄位編號。

例如,若要從範圍 A2:C12 中挑選 5 列資料,請使用下方任一公式:

=INDEX(SORTBY(A2:C12, RANDARRAY(ROWS(A2:C12))), SEQUENCE())E2), {1,2,3})            (Use a cell reference)
=INDEX(SORTBY(A2:C12, RANDARRAY(ROWS(A2:C12))), SEQUENCE())5), {1,2,3})             
(Type a number directly)

接著,按下 Enter 鍵,即可從從範圍提取 A2:C12 中隨機選取 5 列不重複的資料,如下圖所示:

Excel 中從範圍提取 5 列不重複隨機資料的螢幕截圖


防止隨機結果變動

您可能已經發現,本文提到的所有隨機函數(例如 RAND、RANDBETWEEN 和 RANDARRAY)均為易失性函數——每當工作表內容發生變動時,它們就會自動重新計算並生成全新的隨機值。若希望避免這些隨機值不斷自動更新,以下提供兩個實用小技巧供您參考。

使用複製與貼上防止隨機結果變動

一般情況下,您可以使用複製與貼上功能,將動態公式轉換為靜態數值,操作步驟如下:

1. 選取包含隨機公式的儲存格,然後按下 Ctrl + C 進行複製。

2. 接著,於選擇區域上按一下滑鼠右鍵,並在數值選項中點選選擇性粘貼區段,如下圖所示:

提示:您也可以按下 Shift + F10,再按 V,即可啟用此選項。

Excel「選擇性貼上」選單中的「數值」選項螢幕截圖

3. 此時所有公式儲存格均已轉換為數值,隨機值將不再變動。


使用實用功能防止隨機結果變動

若您已安裝 Kutools for Excel,只需一鍵點擊轉為實際值功能,即可將所有選取的公式儲存格立即轉換為數值!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取包含隨機公式的儲存格,然後點選 Kutools> 轉為實際值,如下圖所示:

Excel 中 Kutools「轉為實際值」功能螢幕截圖

2. 現在,所有選取的公式都已成功轉換為數值。

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 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 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用