Note: The other languages of the website are Google-translated. Back to English
登入  \/ 
x
or
x
註冊  \/ 
x

or

Excel隨機數據:在Excel中生成隨機數、文本、日期、時間

一般而言,隨機數據是用於統計抽樣、數據加密、彩票、測試或訓練或其他需要不可預測結果的領域的一系列數字、文本字符串或其他符號。 在本文中,我們將介紹在普通 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 之間的隨機十進制數。
=蘭德()*(BA)+A 在您指定的任意兩個數字之間生成隨機十進制數。 (A 是下限值和 B 是上限值。)

請複制您需要的上述公式,並將該公式應用於任意數量的單元格,然後您將獲得如下屏幕截圖所示的結果:

= RAND() =蘭德()* 50 = RAND()*(100-50)+50

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

要生成一些隨機整數,您應該將 RNAD 和 INT 函數組合在一起,如下表所示:

公式 品種介紹
=INT(蘭德()*N) 生成 0 到 N 之間的隨機整數。
=INT(蘭德()*(BA)+A) 在您指定的任意兩個數字之間生成隨機整數。 (A 是下限值和 B 是上限值。)

請應用您需要的上述公式,然後根據需要將公式拖動並複製到其他單元格,然後您將獲得如下屏幕截圖所示的結果:

=INT(蘭德()*100) =INT(蘭德()*(500-200)+200)

 RANDBETWEEN 函數生成隨機數

在 Excel 中,有一個 RNDBETWEEN 函數,它也可以幫助您快速輕鬆地創建隨機數。

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

=RANDBETWEEN(bottom, top)
  • 底部, 最佳:你想得到的隨機數範圍的最低和最高數字。

例如,如果您想生成 100 到 200 之間的隨機整數,請將下面的公式應用到一個空白單元格中,然後將公式拖動並複製到您想要的其他單元格中,請看截圖:

=RANDBETWEEN(100, 200)

保養竅門:這個 RANDBETWEEN 函數也可以創建正數和負數。 要在 -100 和 100 之間插入隨機數,您只需將底部值更改為 -100,請參閱以下公式:

=RANDBETWEEN(-100, 100)


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

要創建具有指定小數位的隨機數,您需要將 RANDBETWEEN 公式更改為:

  • 帶一位小數的隨機數: =隨機之間(底部* 10,頂部* 10)/ 10
  • 兩位小數的隨機數: =隨機之間(底部* 100,頂部* 100)/ 100
  • 三位小數的隨機數: =隨機之間(底部* 1000,頂部* 1000)/ 1000
  • ...

在這裡,我想得到一個 10 到 50 之間有兩位小數的隨機數列表,請應用下面的公式,然後根據需要將公式拖動並複製到其他單元格,請參見截圖:

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


 用戶定義函數在兩個值之間生成隨機數

以下用戶定義函數還可以幫助您在工作表範圍內生成隨機整數或具有特定小數位的數字。 請按以下步驟操作:

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊 窗口。

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. 最後,根據需要將公式拖動並複製到其他單元格,您將獲得如下屏幕截圖所示的結果:


 在兩個數字之間生成隨機數的便捷功能

如果你厭倦了記住和輸入公式,在這裡,我將推荐一個有用的功能—— 插入隨機數據 of Kutools for Excel. 使用此功能,您可以生成無需任何公式的隨機整數或十進制數。

安裝後 Kutools for Excel,請這樣做:

1. 選擇要在其中生成隨機數的單元格範圍,然後單擊 庫工具 > 插入 > 插入隨機數據,請參見屏幕截圖:

2。 在 插入隨機數據 對話框:

1.) 生成隨機整數:

整型 標籤,在 框中,鍵入您將在其間生成隨機整數的數字範圍,然後單擊 Ok or 登記 按鈕獲取隨機整數,如下圖所示:

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

十進制 選項卡中,分別指定兩個數字 要在它們之間生成隨機十進制數的框。 然後選擇小數位 十進制 放置文本框並單擊 Ok or 登記 按鈕生成隨機小數。 看截圖:

保養竅門:要生成沒有重複的隨機小數,請檢查 獨特價值 選項。


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

使用公式或代碼生成隨機數時,也會產生一些重複的數字。 如果您想創建一個沒有重複的隨機數列表,本節將為您演示一些方法。

 使用數組公式生成不重複的隨機數

例如,我想生成 100 到 200 之間沒有重複數字的隨機數,這裡有一個複雜的數組公式可以幫助您,請執行以下步驟:

1. 在兩個單元格中指定下限和上限值。 在這個例子中,我將在單元格 B100 和 B200 中輸入 2 和 3,看截圖:

2. 然後,將下面的公式複製到一個空白單元格中,例如D3,(不要將公式放入第一行的單元格中),然後按 Ctrl+ Shift + 輸入 鍵一起得到第一個數字,看截圖:

=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 是公式上方的單元格。

3. 然後,將此公式拖動並複製到其他單元格,因為您要生成 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_下界 = 100xNum_Upperbound = 200 表示用於創建 100 到 200 之間的隨機數的下限值和上限值。請根據需要更改它們。

3。 然後按 F5 鍵運行此代碼,唯一的隨機數將被插入到指定的範圍內。


 生成具有強大功能的無重複隨機數

為了快速創建多個唯一的隨機數, Kutools for Excel插入隨機數據 功能支持智能選項 – 獨特價值. 通過選中這個小選項,您將輕鬆解決此任務。

安裝後 Kutools for Excel,請這樣做:

1. 選擇要在其中生成隨機數的單元格範圍。

2。 然後點擊 庫工具 > 插入 > 插入隨機數據. 在彈出的對話框中,請進行以下操作:

  • 整型 標籤,在 框中,輸入您將在其間生成隨機數的數字範圍;
  • 造訪 獨特價值 選項;
  • 然後點擊 Ok or 登記 按鈕獲取唯一的隨機數,如下圖所示。


1.3 Excel中生成隨機偶數或奇數

如果要在單元格範圍內生成一些隨機的偶數或奇數,只需將 RANDBETWEE 函數放在 EVEN 或 ODD 函數中,通用語法為:

公式 品種介紹
=EVEN(RANDBETWEEN(底部,頂部)) 在兩個給定數字之間生成隨機偶數。
=奇數(隨機之間(底部,頂部)) 在兩個給定數字之間生成隨機奇數。

例如,要生成從 10 到 100 的隨機偶數或奇數,請應用以下公式:

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

然後,通過拖動填充手柄將公式複製到您想要的其他單元格,然後,您將獲得如下屏幕截圖所示的結果:


1.4 生成加起來為指定值的隨機數

有時,您可能需要創建一組隨機數加起來達到預定值。 例如,我想生成 5 到 10 之間的 50 個或 n 個隨機數,總共 100 個,如下圖所示。 為了在 Excel 中解決這個難題,我將為您介紹兩種方法。

 使用公式生成與特定值相加的隨機數

在這裡,以下公式可以幫助您。 請逐步按照說明進行操作,因為它們有點複雜:

1. 首先,您應該創建您需要的數據:預先確定的總值、起始編號、結束編號以及您想要生成的隨機數數量,如下圖所示:

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 是您輸入此公式的單元格。

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 是給定的總值; B2 C2 是要在其間生成隨機數的底部和頂部值; D2 表示要生成的隨機數的個數; A4 是放置第一個公式的單元格; A5 是放置第二個公式的單元格。

4. 然後,選擇第二個生成的數字,向下拖動以將此公式複製到下面的三個單元格中。 現在,您將獲得 5 個隨機數,如下圖所示:

5. 為了測試結果,您可以將這些數字相加以檢查總和是否為100,您可以按F9動態刷新隨機數,它們的總和始終為100。


 生成具有驚人功能的隨機數組合,這些組合加起來為特定值

我們可以使用上面的公式來生成滿足我們需要的隨機數。 但是,如果您想列出由您指定的數字和特定總和組成的所有可能的數字組合,在這裡,我將推荐一個簡單的工具 - Kutools for Excel。 隨著它 組成一個數字 功能,您可以獲得具有相同特定總和的所有隨機數組合。

安裝後 Kutools for Excel,請這樣做:

1. 首先,您應該列出您指定的數字。 在這裡,我們列出了 10 到 50 之間的所有數字,如下圖所示:

2。 然後,點擊 庫工具 > 內容 > 組成一個數字,請參見屏幕截圖:

3。 在彈出的 補數 對話框,請執行以下操作:

  • 數據源 在方框中,選擇數字列表以查找哪些數字加起來為100;
  • 選項, 在 Sum 文本框中輸入總值。 我們在這裡輸入 100 進入文本框;
  • 來看看我們的 保存在新表中 選項,如果您想在新工作表中列出結果;
  • 點擊 OK 按鈕。 看截圖:

4. 處理後,您將看到所有總和為 100 的隨機數集合,其中包含 10 到 50 的數字,如下所示。

保養竅門:您可以選擇指定組合的數量和每個組合中隨機數的數量。 比如生成10個組合,每個組合包含5個隨機數,可以在下面的對話框中設置操作 高級設置 如下所示:

你會得到這樣的結果:


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))

保養竅門: 如果要生成多個字母的隨機文本字符串,只需根據需要使用 & 字符將字母連接起來即可。

1.) 要生成四個大寫字母的隨機字符串,請應用以下公式:

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

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,請這樣做:

1. 選擇一系列單元格以插入字母或字符串。

2。 然後點擊 庫工具 > 插入 > 插入隨機數據, 在彈出的對話框中進行如下操作:

  • 點擊 標籤;
  • 來看看我們的 AZ or A-Z 或您要插入的兩者;
  • 然後,在 弦長 文本框;
  • 最後點擊 Ok or 登記 插入字符串,如下圖所示。


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函數會隨機生成一個大寫字母,第二個和第三個表達式會生成兩個小寫字母,第四個表達式用於生成一個大寫字母,第五個表達式生成一個3位數字100 到 999 之間,最後一個表達式用於生成特殊字符,您可以根據需要修改或調整它們的順序。


 使用用戶定義函數生成帶有字母數字字符的隨機密碼

要在 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 之間的帶有字母數字和特定字符的隨機字符串。 看截圖:


 使用簡單的功能生成帶有字母數字字符的隨機密碼

有沒有什麼快速簡便的方法可以在excel中生成多個隨機密碼? Kutools for Excel 提供了一個很好的功能 - 插入隨機數據. 使用此功能,您只需點擊幾下即可插入隨機密碼。

安裝後 Kutools for Excel,請這樣做:

1. 選擇要插入密碼的單元格範圍。

2。 然後點擊 庫工具 > 插入 > 插入隨機數據. 在彈出的對話框中,請進行以下操作:

  • 點擊 標籤;
  • 根據需要檢查字符類型;
  • 然後,在 弦長 文本框;
  • 最後點擊 Ok or 登記 生成密碼,如下圖所示。


1.7 Excel中隨機生成特定文本

你有沒有試過在 Excel 中隨機顯示或列出一些特定的文本值? 例如,要在單元格列表中隨機列出一些給定的文本(item1、itme2、item3、item4、item5),以下兩個技巧可能會幫助您解決此任務。

 使用公式生成隨機特定文本

在 Excel 中,可以根據 CHOOSE 和 RANDBETWEEN 函數創建公式來隨機列出特定文本,通用語法為:

=CHOOSE(RANDBETWEEN(1,n),"Value_1","Value_2","Value_3",…"Value_n")
  • 值_1、值_2、值_3、值_n :代表你想隨機列出的文本值;
  • n :要使用的文本值的數量。

請將以下公式應用到空白單元格中,然後向下拖動填充手柄以隨機填充要列出特定值的單元格,請參見屏幕截圖:

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


 使用快速方法生成隨機特定文本

如果你有 Kutools for Excel,其 插入隨機數據 功能還可以幫助您在一系列單元格中隨機插入自定義文本值。

安裝後 Kutools for Excel,請這樣做:

1. 選擇要插入特定文本的單元格範圍。

2。 然後點擊 庫工具 > 插入 > 插入隨機數據, 在彈出的對話框中進行如下操作:

  • 點擊 自訂清單 標籤;
  • 然後,單擊 按鈕打開另一個 Kutools for Excel 提示框中,輸入或選擇您要隨機列出的自定義文本值。 (手動輸入時,條目應以逗號分隔。)

3。 然後,點擊 Ok 回到了 插入隨機數據 對話框中,您自己的自定義文本列表已顯示在列錶框中。 現在,選擇新的列表項,單擊 Ok or 登記 按鈕將值隨機插入選定的單元格。

保養竅門:要隨機列出指定的文本而不重複,請檢查 獨特價值 選項。


1.8 從 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. 然後,將填充手柄向下拖動到要顯示隨機值的多個單元格,您將獲得如下屏幕截圖所示的結果:


 使用 INDEX、RANK.EQ 函數從沒有重複項的列表中生成隨機值

使用上述公式時,會顯示一些重複的值。 要跳過重複值,您應該首先創建一個輔助列,然後應用基於 INDEX 和 RANK.EQ 函數的公式。 請按以下步驟操作:

1. 在空白單元格中輸入以下公式以獲取隨機數列表,請參見屏幕截圖:

=RAND()

2. 然後,將以下公式複製到要提取一些隨機值的另一列的單元格中,然後將此公式拖動並複製到以下單元格以顯示一些非重複隨機值,請參見屏幕截圖:

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

備註:在以上公式中, A2:A12 是要從中生成一些隨機值的值列表, B2 是輔助列的第一個單元格, B2:B12 是您在步驟 1 中創建的輔助公式單元格。


 從具有出色功能的範圍中選擇隨機單元格、行、列

在這裡,我將推荐一個有用的功能—— 隨機排序/選擇範圍 of Kutools for Excel. 使用此功能,您可以根據需要選擇一些隨機單元格、行或列。

安裝後 Kutools for Excel,請這樣做:

1. 選擇要從中選擇一些隨機值的單元格列表。

2。 然後,單擊 庫工具 > 範圍 > 隨機排序/選擇範圍,請參見屏幕截圖:

3。 在 隨機排序/選擇範圍 對話框,請執行以下操作:

  • 點擊 選擇 標籤;
  • 然後,在框中輸入要隨機選擇的單元格數 細胞數 選擇 框;
  • 選擇類型 部分,根據需要選擇一項操作。 在這種情況下,我會選擇 選擇隨機單元格 選項。
  • 然後,單擊 Ok or 登記 按鈕,將一次隨機選擇五個單元格,見截圖:

4. 選擇單元格後,您可以根據需要將它們複製並粘貼到其他單元格。


1.9 Excel中將數據隨機分組

假設您有一個姓名列表,現在您想將姓名隨機分為三組(A 組、B 組、C 組),如下圖所示。 在本節中,我將討論在 Excel 中解決此任務的一些公式。

 使用公式將數據隨機分組

要將人隨機分配到指定的組,可以將 CHOOSE 函數與 RANDBETWEEN 函數結合使用。

1. 請將以下公式複製或輸入到要生成組的單元格中:

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

備註:在以上公式中, A組, B組C組 指明要分配的組名和編號 3 表示您要分配的組數。

2. 然後,拖動填充柄將此公式填充到其他單元格,名稱將分為三組,如下圖所示:


 使用公式將數據隨機分配到相同數量的組

如果您希望所有組具有相同數量的名稱,則上述公式將無法正常工作。 在這種情況下,您可以通過 RAND 函數創建具有隨機值的輔助列,然後應用基於 INDEX、RANK 和 ROUNDUP 函數的公式。

例如,我在單元格 F2:F4 中列出了您想要分配的組名稱。 將人分配到組(A 組、B 組、C 組),每組有 4 名參與者,請按以下步驟操作:

1。 輸入以下公式: = RAND() 進入一個空白單元格以獲取隨機數列表,請參見屏幕截圖:

2. 然後,在下一列中,例如,在單元格 D2 中,複製或鍵入以下公式:

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

備註:在以上公式中, C2 是輔助列的第一個單元格, C2:C13 是您在步驟 1 中創建的輔助公式單元格,數字 4 表示您希望每個組包含多少個名稱, F2:F4 是包含您要為數據分配的組名稱的單元格範圍。

3. 向下拖動填充手柄為數據列表生成隨機組,名稱將被分成相等的組,見截圖:


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. 然後,將此公式拖動並複製到要填充此公式的其他單元格,單元格中將顯示五位數,如下圖所示:

3. 然後,您應該將數字格式化為日期格式。 請選擇公式單元格,然後右鍵單擊,選擇 單元格格式 從上下文菜單。

4。 在 單元格格式 對話框,單擊 選項卡,然後選擇 日期 來自 活動類別 窗格,然後從 類別 下拉列表。 看截圖:

5。 點擊 OK 關閉對話框。 現在,數字已轉換為正常日期。 看截圖:

保養竅門:如果您想生成不包括週末的隨機工作日,以下公式可能對您有所幫助:

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

 使用驚人的功能在兩個給定日期之間生成隨機日期

Kutools for Excel插入隨機數據 還提供了一個選項來幫助您在兩個給定日期之間生成隨機日期、工作日、週末。

安裝後 Kutools for Excel,請這樣做:

1. 選擇要插入隨機日期的單元格範圍。

2。 然後點擊 庫工具 > 插入 > 插入隨機數據, 在彈出的對話框中進行如下操作:

  • 點擊 日期 標籤;
  • 然後,指定日期範圍。 在這個例子中,我將選擇 5/1/202110/15/2021.
  • 然後,選擇日期類型 - 工作日 日期, 週末 根據您的需要日期或兩者。
  • 最後點擊 Ok or 登記 如下圖所示隨機生成日期。

保養竅門:要生成一些隨機的不同日期,請檢查 獨特價值 選項。


1.11 在Excel中生成隨機時間

在插入隨機數、文本字符串和日期之後,在本節中,我將討論在 Excel 中生成隨機時間的一些技巧。

 用公式生成隨機時間

用公式生成隨機時間

要在單元格範圍內生成隨機時間,基於 TEXT 和 RAND 函數的公式可以幫到您。

請在空白單元格中輸入以下公式,然後將公式拖動並複製到您想要獲取時間的其他單元格中,請參見屏幕截圖:

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


使用公式在兩個給定時間之間生成隨機時間

如果您需要在兩個特定時間之間隨機插入一些時間,例如從 10 點到 18 點的時間,請應用以下公式:

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

備註:在上式中,數字 18 是結束時間,並且 10 代表開始時間。 您可以更改它們以滿足您的需求。

然後,將公式拖動並複製到要在兩個給定時間範圍之間生成隨機時間的其他單元格,請參見屏幕截圖:


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

假設,您想在 Excel 中的特定時間間隔內提出隨機時間,例如以 15 分鐘的間隔插入隨機時間。 要處理這項工作,您可以使用 TEXT 函數中的 RAND 和 FLOOR 函數。

將下面的公式複製或輸入到空白單元格中,然後將此公式拖動並複製到要獲取隨機時間的單元格中,請參見屏幕截圖:

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

備註: 公式中的數 15 是時間間隔,如果您需要以 30 分鐘為間隔的隨機時間,只需將 15 替換為 30。


 使用方便的功能在兩個給定時間之間生成隨機時間

如果你有 Kutools for Excel,其 插入隨機數據 功能還可以幫助您在工作表中的給定時間之間生成隨機時間。

安裝後 Kutools for Excel,請這樣做:

1. 選擇生成時間的單元格範圍。

2. 然後點擊 庫工具 > 插入 > 插入隨機數據, 在彈出的對話框中進行如下操作:

  • 點擊 時間 標籤;
  • 然後,指定時間範圍。 在這個例子中,我將選擇 9:上午0016:下午30.
  • 最後點擊 Ok or 登記 生成隨機時間,如下圖所示。


 使用公式在兩個日期時間之間生成隨機日期和時間

如果您想一起生成隨機日期和時間,以下公式可以幫助您。

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 365 / 2021 中生成隨機數、文本、日期

本節將展示如何使用新的動態數組函數 RANDARRAY 在 Excel 365 或 Excel 2021 中生成隨機數、日期以及獲取隨機選擇並將數據隨機分配給組。

RANDARRAY 函數用於返回您指定的任意兩個數字之間的隨機數數組。

RANDARRAY 函數的語法是:

=RANDARRAY([rows],[columns],[min],[max],[integer])
  • (可選):要返回的隨機數的行數; (如果省略,默認=1)
  • (可選):要返回的隨機數列數; (如果省略,默認=1)
  • 分鐘 (可選):要返回的最小數量; (如果省略,默認=0)
  • 最大 (可選):要返回的最大數量; (如果省略,默認=1)
  • 整數 (可選):返回整數或十進制值。 TRUE 表示整數,False 表示十進制數。 (如果省略,默認=FALSE)
筆記:
  • 1. RANDARRAY 函數有五個參數,都是可選的,如果沒有指定參數,RANDARRAY 將返回一個 0 到 1 之間的十進制值。
  • 2. 如果行或列參數是十進制數,它們將被截斷為小數點前的整數(例如 3.9 將被視為 3)。
  • 3.最小數必須小於最大數,否則返回#VALUE! 錯誤。
  • 4、這個RANDARRAY返回一個數組,當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列隨機數;
  • 50, 200:要在其間生成數字的最小值和最大值;
  • TRUE: 表示返回整數;
  • : 表示返回十進制數。

 用公式生成不重複的隨機數

使用普通 RANDARRAY 函數生成隨機數時,也會創建一些重複的數字。 為了避免重複,在這裡,我將討論解決此任務的一些公式。

生成非重複隨機數列表

要隨機生成一列或一組唯一數字,通用語法是:

無重複的隨機整數:

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

無重複的隨機小數:

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

例如,在這裡,我將插入一個從 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個隨機數;
  • 50, 100:要在其間生成數字的最小值和最大值。
  • TRUE: 表示返回整數;
  • : 表示返回十進制數。

生成一系列不重複的隨機數

如果要在單元格範圍內生成不重複的隨機數,只需在 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。
  • :要填充的行數;
  • : 要填充的列數;
  • 分鐘:最低值;
  • 最大: 最高值。

在這裡,我將使用從 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的乘積(行*列);
  • 50, 100:要在其間生成數字的最小值和最大值;
  • TRUE: 表示返回整數;
  • : 表示返回十進制數。

2.2 在 Excel 365 / 2021 中生成隨機日期

通過使用這個新的 RANDARRAY 函數,您還可以快速輕鬆地在 Excel 中生成多個隨機日期或工作日。

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

要在兩個特定日期之間創建隨機日期列表,您可以應用以下公式:

1. 在空白單元格中輸入以下公式以生成隨機日期,然後按 Enter 獲取五位數字列表的鍵,請參見屏幕截圖:

=RANDARRAY(10, 1, B1, B2, TRUE)
備註: 在以上公式中:
  • 10:表示返回10行隨機日期;
  • 1:表示返回1列隨機日期;
  • B1, B2:單元格包含要在其間生成日期的開始日期和結束日期。

2. 然後,您應該將數字格式化為正常日期格式:選擇數字,然後右鍵單擊,然後選擇 單元格格式 從上下文菜單。 在下面的 單元格格式 對話框,請這樣做:

  • 點擊 標籤;
  • 然後點擊 日期 來自 活動類別 窗格
  • 然後,從 類別 列錶框。

3。 然後,單擊 OK 按鈕,數字將按照您指定的日期格式進行格式化,請參見屏幕截圖:

保養竅門:當然,您也可以直接在公式中輸入開始日期和結束日期,如下所示:

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

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

要在一系列單元格中生成隨機工作日,您只需將 RANDARRAY 函數嵌入到 WORKDAY 函數中。

1. 將以下公式輸入或複製到空白單元格中,然後按 Enter 獲取數字列表的鍵,如下圖所示:

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

2. 然後,根據需要將數字格式化為特定的日期格式 單元格格式 對話框,您將獲得正常的日期格式,如下圖所示:

保養竅門:您也可以直接在公式中輸入開始日期和結束日期,如下所示:

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

2.3 從 Excel 365 / 2021 中的列表生成或獲取隨機值

在 Excel 365 或 2021 中,如果您想從單元格列表中生成或返回一些隨機值,本節將為您介紹一些公式。

 使用公式從列表中生成或獲取隨機值

要從單元格列表中提取隨機值,這個帶有 INDEX 函數的 RANDARRY 函數可以幫到你。 通用語法是:

=INDEX(data, RANDARRAY(n, 1, 1, ROWS(data), TRUE))
  • 數據:要從中提取隨機項的值列表;
  • n:您要提取的隨機項目的數量。

例如,要從名稱列表 A3:A2 中提取 12 個名稱,請使用以下公式:

=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個名字,看截圖:


 使用公式從沒有重複項的列表中生成或獲取隨機值

使用上述公式,您可能會在結果中發現重複項。 要從不重複的列表中進行隨機選擇,通用語法是:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n))
  • 數據:要從中提取隨機項的值列表;
  • n:您要提取的隨機項目的數量。

如果您需要從名稱列表 A5:A2 中隨機返回 12 個名稱,請輸入或複制以下公式之一:

=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 從列表 A5:A2 中獲取 12 個隨機名稱的鍵,沒有重複,看截圖:


2.4 從 Excel 365 / 2021 的範圍中生成或選擇隨機行

有時,您可能需要從 Excel 中的一系列單元格中選取一些隨機行。 為了完成這個任務,在這裡,我將講一些公式。

 使用公式從範圍中生成或選擇隨機行

從一系列單元格生成隨機行的通用語法是:

=INDEX(data, RANDARRAY(n, 1, 1, ROWS(data), TRUE), {1,2,3…})
  • 數據:要從中提取隨機行的單元格範圍;
  • n: 您希望提取的隨機行數;
  • {1,2,3…}: 要提取的列號。

要從區域 A3:C2 中提取 12 行數據,請使用以下任一公式:

=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 從範圍 A3:C2 中獲取 12 個隨機數據行的鍵,請參見屏幕截圖:


 使用公式從不重複的範圍中生成或選擇隨機行

同樣,上述公式也可以產生重複數據。 為防止出現重複行,您可以使用以下通用語法:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n), {1,2,3…})
  • 數據:要從中提取隨機行的單元格範圍;
  • n: 您希望提取的隨機行數;
  • {1,2,3…}: 要提取的列號。

例如,要從區域 A5:C2 中提取 12 行數據,請使用以下任一公式:

=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 鍵,將從範圍 A5:C2 中提取沒有重複的 12 個隨機行,如下圖所示:


防止隨機結果改變

您可能已經註意到本文中的所有隨機化函數,例如 RAND、RANDBETWEEN 和 RANDARRAY,都是易變的。 每次換錶時都會重新計算生成結果,之後會隨機生成新值。 要阻止隨機值自動更改,這裡有兩個快速技巧供您使用。

 使用複制和粘貼防止隨機結果發生變化

通常,您可以應用 複製和粘貼 將動態公式複制並粘貼為值的功能,請執行以下操作:

1. 選擇帶有隨機公式的單元格,然後按 按Ctrl + C 複製它們。

2. 然後,右鍵單擊所選範圍,然後單擊 價值觀 選項從 粘貼選項 部分,請參見屏幕截圖:

保養竅門:您也可以按 SHIFT + F10 進而 V 激活此選項。

3. 並且所有公式單元格都將轉換為值,隨機值將不再改變。


 使用方便的功能防止隨機結果發生變化

如果你已經安裝 Kutools for Excel中, 到實際 功能可以幫助您一鍵將所有選定的公式單元格轉換為值。

安裝後 Kutools for Excel,請這樣做:

1. 選擇帶有隨機公式的單元格,然後單擊 庫工具 > 到實際,請參見屏幕截圖:

2. 現在,所有選定的公式都已轉換為值。



  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 和保存數據; 拆分單元格內容; 合併重複的行和總和/平均值...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 收藏并快速插入公式,範圍,圖表和圖片; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 數據透視表分組依據 週號,週幾等 顯示未鎖定的單元格 用不同的顏色 突出顯示具有公式/名稱的單元格...
kte選項卡201905
  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.