Excel 随机数据:在 Excel 中生成随机数字、文本、日期和时间
Excel 随机数据:在 Excel 中生成随机数字、文本、日期和时间
一般来说,随机数据是一系列用于统计抽样、数据加密、抽奖、测试或培训等需要不可预测结果领域的数字、文本字符串或其他符号。本文将介绍在常规 Excel 和 Excel365 中生成随机数字、文本字符串、日期和时间的不同方法。
在 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 |
![]() | ![]() | ![]() |
在两个数字之间生成随机整数
要生成一些随机整数,你可以将 RAND 和 INT 函数结合使用,如下表所示:
公式 | 功能描述 |
=INT(RAND()*N) | 生成0 到 N之间的随机整数。 |
=INT(RAND()*(B-A)+A) | 生成你指定的任意两个数字之间的随机整数。(A 为下限,B 为上限。) |
请应用上方所需公式,然后拖动并复制公式到其他单元格,即可得到如下截图所示的结果:
=INT(RAND()*100) | =INT(RAND()*(500-200)+200) |
![]() | ![]() |
使用 RANDBETWEEN 函数生成随机数字
在 Excel 中,RANDBETWEEN 函数也可以帮助你快速轻松地生成随机数字。
在两个数字之间生成随机整数
- bottom, top:你想要获取的随机数字范围的最小值和最大值。
例如,如果你想生成100 到200之间的随机整数,请在空白单元格中输入以下公式,然后拖动并复制到其他单元格,如下截图所示:
提示:RANDBETWEEN 函数还可以生成正数和负数。如果要在 -100 到100之间插入随机数字,只需将 bottom 值改为 -100,如下公式所示:
在两个数字之间生成指定小数位数的随机数字
要生成带有指定小数位数的随机数字,需要将 RANDBETWEEN公式修改如下:
- 一位小数的随机数字: =RANDBETWEEN(bottom*10, top*10)/10
- 两位小数的随机数字:=RANDBETWEEN(bottom*100, top*100)/100
- 三位小数的随机数字:=RANDBETWEEN(bottom*1000, top*1000)/1000
- ...
这里以生成10 到50之间带两位小数的随机数字为例,请应用下方公式,然后拖动并复制到其他单元格,如下截图所示:
使用自定义函数在两个值之间生成随机数字
以下自定义函数也可以帮助你在工作表区域内生成随机整数或带指定小数位数的数字。请按以下步骤操作:
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之间的随机整数,请使用以下公式:
2.) 若要插入50 到200之间带2 位小数的随机数字,请应用下方公式:
4. 最后,拖动并复制公式到其他单元格,即可得到如下截图所示的结果:
![]() | ![]() |
一个实用功能,可在两个数字之间生成随机数字
如果你不想记忆和输入公式,这里推荐一个实用功能——Kutools for Excel 的“插入随机数据”。通过该功能,无需公式即可生成随机整数或小数。
Kutools for Excel - 包含超过 300 个 Excel 必备工具。永久免费享受 AI 功能!立即下载!
1.选择需要生成随机数字的单元格区域,然后点击 Kutools > 插入 > 插入随机数据,如下截图所示:
2. 在“插入随机数据”对话框中:
1.)生成随机整数:
在“整数”选项卡下,于“从”和“到”框中输入要生成随机整数的范围,然后点击“确定”或“应用”按钮,即可得到如下截图所示的随机整数:
2.)生成带指定小数位数的随机数字:
在“小数”选项卡下,分别在“从”和“到”框中输入要生成随机小数的两个数字。然后在“小数位数”文本框中选择小数位数,点击“确定”或“应用”按钮即可生成随机小数。如下截图所示:
提示:若要生成不重复的随机小数,请勾选“生成唯一值”选项。
1.2生成不重复的随机数字(唯一随机数字)
使用公式或代码生成随机数字时,可能会出现重复。如果你想创建一个不重复的随机数字列表,本节将为你演示几种方法。
使用数组公式生成不重复的随机数字
例如,我想生成100 到200之间的不重复随机数字,下面这个复杂的数组公式可以帮你实现,请按以下步骤操作:
1. 在两个单元格中分别输入下限和上限值。本例中,我将在 B2 和 B3 单元格中输入100 和200,如下截图所示:
2. 然后,将下方公式复制到空白单元格(如 D3,勿放在第一行),同时按下 Ctrl+Shift+Enter 键获取第一个数字,如下截图所示:
注意:在上述公式中,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_Lowerbound = 100 和 xNum_Upperbound = 200 分别表示生成100 到200之间的随机数字下限和上限。请根据需要修改。
3. 然后按 F5 键运行代码,唯一的随机数字将插入到指定区域。
使用强大功能生成不重复的随机数字
要快速生成多个唯一随机数字,Kutools for Excel 的“插入随机数据”功能支持一个智能选项——生成唯一值。勾选该选项即可轻松完成此任务。
1.选择需要生成随机数字的单元格区域。
2. 然后点击 Kutools > 插入 > 插入随机数据。在弹出的对话框中,请进行如下操作:
- 在“整数”选项卡下,于“从”和“到”框中输入要生成随机数字的范围;
- 勾选“生成唯一值”选项;
- 然后点击“确定”或“应用”按钮,即可得到如下截图所示的唯一随机数字。
1.3 在 Excel 中生成随机偶数或奇数
如果你想在某个区域生成随机偶数或奇数,只需将 RANDBETWEEN 函数嵌入到 EVEN 或 ODD 函数中,通用语法如下:
公式 | 功能描述 |
=EVEN(RANDBETWEEN(bottom,top)) | 在两个指定数字之间生成随机偶数。 |
=ODD(RANDBETWEEN(bottom,top)) | 在两个指定数字之间生成随机奇数。 |
例如,要在10 到100之间生成随机偶数或奇数,请应用以下公式:
=ODD(RANDBETWEEN(10,100)) (生成随机奇数)
然后,通过拖动填充柄将公式复制到其他单元格,即可得到如下截图所示的结果:
![]() | ![]() |
1.4生成和为指定值的随机数字
有时,你可能需要创建一组和为预定值的随机数字。例如,我想生成5 个或 n 个10 到50之间的随机数字,并且它们的总和为100,如下截图所示。为了解决这个难题,本文将介绍两种方法。
使用公式生成和为指定值的随机数字
以下公式可以帮助你。请按步骤操作,因其稍显复杂:
1. 首先,创建所需数据:预定总值、起始数字、结束数字以及要生成的随机数字个数,如下截图所示:
2. 然后,将下方公式复制到你想生成数字的空白单元格中。本例中,我将在 A4 单元格输入公式,按 Enter 键获取第一个随机数字,如下截图所示:
注意:在上述公式中,A2 为给定总值,B2 和 C2 分别为要生成随机数字的下限和上限,D2 表示要生成的随机数字个数,A4 为输入该公式的单元格。
3.继续将下方公式复制到 A5 单元格,按 Enter 键获取第二个随机数字,如下截图所示:
注意:在上述公式中,A2 为给定总值,B2 和 C2 分别为要生成随机数字的下限和上限,D2 表示要生成的随机数字个数,A4 为第一个公式的单元格,A5 为第二个公式的单元格。
4. 然后,选择第二个生成的数字,向下拖动复制该公式到下方三个单元格。现在,你将得到如下截图所示的5 个随机数字:
5. 为了验证结果,你可以将这些数字求和,检查总和是否为100。按 F9 可动态刷新随机数字,总和始终为100。
使用强大功能生成和为指定值的随机数字组合
我们可以用上述公式生成满足需求的随机数字。但如果你想列出所有由指定数字组成且总和为特定值的组合,这里推荐一个便捷工具——Kutools for Excel 的“凑数”功能。通过该功能,可以获取所有总和相同的随机数字组合。
1. 首先,列出你指定的数字。这里我们列出了10 到50之间的所有数字,如下截图所示:
2. 然后点击 Kutools > 文本 > 凑数,如下截图所示:
3. 在弹出的“凑数”对话框中,请进行如下操作:
- 在“源区域”框中,选择要查找哪些数字加起来等于100 的数字列表;
- 在“选项”下,在“求和”文本框中输入总值。这里我们输入100;
- 如果想将结果列在新工作表中,请勾选“保存在新表中”选项;
- 点击“确定”按钮。如下截图所示:
4.处理完成后,你将看到所有由10 到50之间数字组成且总和为100 的组合,如下所示。
提示:你可以在“高级设置”中指定组合个数和每组随机数字的数量。例如,生成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.) 若要生成由四个大写字母组成的随机字符串,请应用下方公式:
2.) 若要生成由四个小写字母组成的随机字符串,请应用下方公式:
3.) 若要生成前两个为大写字母、后两个为小写字母的随机字符串,请使用下方公式:
你可以通过简单的公式和 & 字符组合出各种满足需求的字符串。
使用实用功能生成随机字母和文本字符串
如果你已安装 Kutools for Excel,可以无需记忆公式,快速生成随机字母和字符串。
1.选择要插入字母或字符串的单元格区域。
2. 然后点击 Kutools > 插入 > 插入随机数据,在弹出的对话框中请进行如下操作:
- 点击“字符串”选项卡;
- 勾选要插入的 a-z、A-Z 或两者;
- 然后在“长度”文本框中指定字符串长度;
- 最后点击“确定”或“应用”插入字符串,如下截图所示。
1.6 在 Excel 中生成包含字母和数字的随机密码
创建密码时,密码应至少包含8 个字符,并包含大写字母、小写字母、数字和部分特殊字符。本节将介绍在 Excel 中生成随机密码的一些技巧。
通过公式生成包含字母和数字的随机密码
例如,这里将创建长度为8 的随机密码。只需将“使用公式生成随机字母和文本字符串”部分的三个公式组合即可。
请将下方公式复制到空白单元格:
注意:在上述公式中,第一个 CHAR 和 RANDBETWEEN生成一个大写字母,第二和第三生成两个小写字母,第四生成一个大写字母,第五生成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 的包含字母和特殊字符的随机字符串,如下截图所示。
通过便捷功能生成包含字母和数字的随机密码
有没有快速生成多个随机密码的方法?Kutools for Excel 提供了优秀的“插入随机数据”功能,只需几次点击即可插入随机密码。
1.选择要插入密码的单元格区域。
2. 然后点击 Kutools > 插入 > 插入随机数据,在弹出的对话框中请进行如下操作:
- 点击“字符串”选项卡;
- 根据需要勾选字符类型;
- 然后在“长度”文本框中指定密码长度;
- 最后点击“确定”或“应用”生成密码,如下截图所示。
1.7 在 Excel 中生成指定的随机文本
你是否尝试过在 Excel 中随机显示或列出某些指定文本值?例如,随机排列给定的文本(item1、item2、item3、item4、item5)到一组单元格,以下两种方法可以帮你实现。
使用公式生成指定的随机文本
在 Excel 中,可以基于 CHOOSE 和 RANDBETWEEN 函数创建公式,随机列出指定文本,通用语法如下:
- Value_1, Value_2, Value_3, Value_n :表示你想要随机列出的文本值;
- n :你想要使用的文本值数量。
请将下方公式应用到空白单元格,然后向下拖动填充柄,随机列出指定值,如下截图所示:
使用快捷方法生成指定的随机文本
如果你有 Kutools for Excel,其“插入随机数据”功能也可帮助你在区域内随机插入自定义文本值。
1.选择要插入指定文本的单元格区域。
2. 然后点击 Kutools > 插入 > 插入随机数据,在弹出的对话框中请进行如下操作:
- 点击“自定义列表”选项卡;
- 然后点击
按钮以打开另一个 Kutools for Excel 提示框,输入或选择你要随机列出的自定义文本值。(手动输入时,条目应以逗号分隔。)
3. 然后点击 “确定”返回“插入随机数据”对话框,你的自定义文本列表已显示在列表框中。现在,选择新列表项,点击 “确定”或“应用”按钮,即可随机插入值到选定单元格。
提示:若要随机列出指定文本且不重复,请勾选“生成唯一值”选项。
1.8 在 Excel 中从列表中生成或选择随机值
假设你有一个很长的名称列表,需要从中随机挑选一些作为幸运名单或研究对象,如下截图所示。如何在 Excel 中实现?
结合 INDEX、RANDBETWEEN 和 ROWS 函数从列表中生成随机值
在 Excel 中没有直接方法从列表中提取随机值,但你可以基于 INDEX、RANDBETWEEN 和 ROWS 函数创建公式来提取部分随机值。
1. 请将下方公式复制到你想要提取值的空白单元格:
注意:在上述公式中,A2:A12 是你要从中随机挑选值的列表。
2. 然后向下拖动填充柄到若干单元格,即可显示随机值,如下截图所示:
结合 INDEX、RANK.EQ 函数从列表中生成不重复的随机值
使用上述公式时,可能会出现重复值。若要跳过重复值,应先创建辅助列,然后结合 INDEX 和 RANK.EQ 函数应用公式。请按如下操作:
1. 在空白单元格输入下方公式,生成随机数字列表,如下截图所示:
2. 然后在另一列的单元格中复制下方公式,并向下拖动复制到其他单元格,显示不重复的随机值,如下截图所示:
注意:在上述公式中,A2:A12 是你要生成随机值的列表,B2 是辅助列的第一个单元格,B2:B12 是你在第1 步创建的辅助公式单元格。
使用强大功能从区域中随机选择单元格、行或列
这里推荐一个实用功能——Kutools for Excel 的“随机排序或选择”。通过该功能,可以按需随机选择部分单元格、行或列。
1.选择你要从中随机选择值的单元格列表。
2. 然后点击 Kutools > 区域 > 随机排序或选择,如下截图所示:
3. 在“随机排序或选择”对话框中,请进行如下操作:
- 点击“选择”选项卡;
- 然后在“要选中的个数”框中输入要随机选择的单元格数量;
- 在“选中类型”部分,根据需要选择操作。本例选择“单元格”选项。
- 然后点击“确定”或“应用”按钮,即可一次性随机选中五个单元格,如下截图所示:
4.选中单元格后,可根据需要复制并粘贴到其他单元格。
1.9 在 Excel 中随机分组数据
假设你有一个名称列表,现在想将这些名称随机分为三组(A组、B组、C组),如下截图所示。本节将介绍几种在 Excel 中实现的方法。
使用公式随机分配数据到组
要将人员随机分配到指定组,可以结合 CHOOSE 和 RANDBETWEEN 函数实现。
1. 请将下方公式复制或输入到你想生成分组的单元格:
注意:在上述公式中,Group A、Group B、Group C 表示你要分配的组名,数字3 表示要分配的组数。
2. 然后拖动填充柄,将公式填充到其他单元格,名称将被随机分为三组,如下截图所示:
使用公式随机将数据平均分配到各组
如果你希望每组人数相等,上述公式无法满足需求。此时,可先用 RAND 函数创建辅助列,然后结合 INDEX、RANK 和 ROUNDUP 函数应用公式。
例如,将要分配的组名列在 F2:F4 单元格。要将人员分配到 A组、B组、C组,每组4 人,请按如下操作:
1. 在空白单元格输入公式:=RAND(),生成随机数字列表,如下截图所示:
2. 在下一列(如 D2 单元格)复制或输入下方公式:
注意:在上述公式中,C2 为辅助列第一个单元格,C2:C13 为第1 步创建的辅助公式单元格,数字4 表示每组人数,F2:F4 为包含组名的单元格区域。
3. 向下拖动填充柄,为数据列表生成随机分组,名称将被平均分组,如下截图所示:
1.10 在 Excel 中生成随机日期
要在两个指定日期之间生成任意日期,本文将为你介绍几种方法。
使用公式在两个指定日期之间生成随机日期
例如,我想随机生成2021-5-1 到2021-10-15之间的日期。通常可结合 RANDBETWEEN 和 DATE 函数实现,请按如下操作:
1.选择要插入随机日期的单元格,输入下方公式:
注意:在此公式中,2021,5,1 为起始日期,2021,10,15 为结束日期,可根据需要替换。
2. 然后拖动并复制公式到其他单元格,单元格中将显示五位数字,如下截图所示:
3. 然后需将数字格式设置为日期格式。请选中公式单元格,右键选择“设置单元格格式”。
4. 在“设置单元格格式”对话框中,点击“数字”选项卡,选择“日期”分类,再从“类型”下拉列表中选择所需日期格式。如下截图所示:
5. 点击“确定”关闭对话框。现在,数字已转换为正常日期。如下截图所示:
提示:若要生成不包含周末的随机工作日,可使用下方公式:
使用强大功能在两个指定日期之间生成随机日期
Kutools for Excel 的“插入随机数据”也提供了选项,可帮助你在两个指定日期之间生成随机日期、工作日或周末日期。
1.选择要插入随机日期的单元格区域。
2. 然后点击 Kutools > 插入 > 插入随机数据,在弹出的对话框中请进行如下操作:
- 点击“日期”选项卡;
- 然后指定日期范围。本例选择5/1/2021 到10/15/2021。
- 然后根据需要选择日期类型——工作日、周末或两者。
- 最后点击“确定”或“应用”即可随机生成日期,如下截图所示。
提示:若要生成不重复的随机日期,请勾选“生成唯一值”选项。
1.11 在 Excel 中生成随机时间
在插入随机数字、文本字符串和日期后,本节将介绍在 Excel 中生成随机时间的技巧。
使用公式生成随机时间
使用公式生成随机时间
要在一组单元格中生成随机时间,可结合 TEXT 和 RAND 函数实现。
请将下方公式输入空白单元格,然后拖动并复制到其他单元格,即可得到如下截图所示的时间:
使用公式在两个指定时间之间生成随机时间
如果需要在两个特定时间(如10 点到18 点)之间随机插入时间,请应用下方公式:
注意:在上述公式中,数字18 为结束时间,10 为开始时间。可根据需求更改。
然后拖动并复制公式到其他单元格,即可生成指定时间范围内的随机时间,如下截图所示:
使用公式按特定间隔生成随机时间
例如,若要在 Excel 中按特定间隔生成随机时间,如每15 分钟插入一次随机时间,可结合 RAND 和 FLOOR 函数与 TEXT 函数实现。
将下方公式输入空白单元格,然后拖动并复制到所需单元格,如下截图所示:
注意:公式中的数字15 为时间间隔,若需每30 分钟生成一次随机时间,只需将15 替换为30。
使用实用功能在两个指定时间之间生成随机时间
如果你有 Kutools for Excel,其“插入随机数据”功能也可帮助你在工作表中生成指定时间范围内的随机时间。
1.选择要生成时间的单元格区域。
2. 然后点击 Kutools > 插入 > 插入随机数据,在弹出的对话框中请进行如下操作:
- 点击“时间”选项卡;
- 然后指定时间范围。本例选择9:00 AM 到16:30 PM。
- 最后点击“确定”或“应用”即可生成随机时间,如下截图所示。
使用公式在两个日期时间之间生成随机日期和时间
如果你想同时生成随机日期和时间,下方公式可以帮你实现。
1. 将下方公式输入或复制到你想生成随机日期时间的单元格:
注意:在此公式中,2021-10-1512:00:00 为结束日期时间,2021-1-19:00:00 为开始日期时间,可根据需要修改。
2. 然后拖动并复制公式到其他单元格,即可显示随机日期时间,如下截图所示:
在 Excel365 /2021及更新版本中生成随机数字、文本、日期
本节将介绍如何在 Excel365、Excel2021及未来版本中,利用全新动态数组函数 RANDARRAY生成随机数字、日期、随机选择和随机分组数据。
RANDARRAY 函数用于返回你指定任意两个数字之间的随机数字数组。
RANDARRAY 函数语法如下:
- rows(可选):要返回的随机数字行数;(省略时默认为1)
- columns(可选):要返回的随机数字列数;(省略时默认为1)
- min(可选):要返回的最小数字;(省略时默认为0)
- max(可选):要返回的最大数字;(省略时默认为1)
- integer(可选):返回整数还是小数。TRUE 为整数,FALSE 为小数。(省略时默认为 FALSE)
- 1. RANDARRAY 函数有五个参数,均为可选项,若未指定任何参数,则返回0 到1之间的小数。
- 2. 若 rows 或 columns 参数为小数,则会被截断为小数点前的整数(如3.9 会被视为3)。
- 3. 最小值必须小于最大值,否则返回 #VALUE! 错误。
- 4. RANDARRAY 返回的是数组,当在工作表中返回多个结果时,结果会溢出到相邻单元格。
2.1 在 Excel365 /2021及更新版本中生成随机数字
要在 Excel365、Excel2021及未来版本中生成随机整数或小数,可使用全新 RANDARRAY 函数。
使用公式在两个数字之间生成随机数字
要在特定范围内生成随机数字列表,请应用以下公式:
请根据需要输入下方任一公式,然后按 Enter 键获取结果,如下截图所示:
=RANDARRAY(6,4,50,200, FALSE) (生成50 到200之间的随机小数)
- 6:表示返回6 行随机数字;
- 4:表示返回4 列随机数字;
- 50,200:要生成数字的最小值和最大值;
- TRUE:表示返回整数;
- FALSE:表示返回小数。
![]() | ![]() |
使用公式生成不重复的随机数字
使用普通 RANDARRAY 函数生成随机数字时,可能会出现重复。为避免重复,下面介绍几种解决方法。
生成不重复的随机数字列表
要随机生成一列或一组唯一数字,通用语法如下:
不重复的随机整数:
不重复的随机小数:
- n:要生成的值的数量;
- min:最小值;
- max:最大值。
例如,这里将插入8 个50 到100之间的不重复随机数字,请应用下方任一公式,然后按 Enter 键获取结果:
=INDEX(UNIQUE(RANDARRAY(8^2,1,50,100, FALSE)), SEQUENCE(8))(唯一随机小数)
- 8:表示返回8 个随机数字;
- 50,100:要生成数字的最小值和最大值。
- TRUE:表示返回整数;
- FALSE:表示返回小数。
![]() | ![]() |
生成不重复的随机数字区域
若要在一组单元格中生成不重复的随机数字,只需在 SEQUENCE 函数中定义行数和列数,通用语法如下:
要随机生成一列或一组唯一数字,通用语法如下:
不重复的随机整数:
不重复的随机小数:
- n:要插入数字的单元格数量,可用行数*列数表示;例如填充8 行3 列,用24^2。
- rows:要填充的行数;
- columns:要填充的列数;
- min:最小值;
- max:最大值。
这里将用8 行3 列的区域填充50 到100之间的不重复随机数字,请应用下方任一公式:
=INDEX(UNIQUE(RANDARRAY(24^2,1,50,100, FALSE)), SEQUENCE(8,3))(唯一随机小数)
- 24:表示返回24 个随机数字,为8*3(行*列)的乘积;
- 50,100:要生成数字的最小值和最大值;
- TRUE:表示返回整数;
- FALSE:表示返回小数。
![]() | ![]() |
2.2 在 Excel365 /2021及更新版本中生成随机日期
通过全新 RANDARRAY 函数,也可以在 Excel 中快速生成多组随机日期或工作日。
使用公式在两个日期之间生成随机日期
要在两个特定日期之间生成随机日期列表,可应用下方公式:
1. 在空白单元格输入下方公式生成随机日期,按 Enter 键获取五位数字列表,如下截图所示:
- 10:表示返回10 行随机日期;
- 1:表示返回1 列随机日期;
- B1, B2:包含起始和结束日期的单元格。
2. 然后需将数字格式设置为常规日期格式:选中数字,右键选择“设置单元格格式”。在弹出的“设置单元格格式”对话框中,请按如下操作:
- 点击“数字”选项卡;
- 然后点击“日期”分类;
- 然后从“类型”列表中选择你喜欢的日期格式。
3. 然后点击“确定”按钮,数字将按你指定的日期格式显示,如下截图所示:
提示:当然,也可以直接在公式中输入起始和结束日期,如下:
使用公式在两个日期之间生成随机工作日
要在一组单元格中生成随机工作日,可将 RANDARRAY 函数嵌入到 WORKDAY 函数中。
1. 在空白单元格输入或复制下方公式,然后按 Enter 键获取数字列表,如下截图所示:
2. 然后在“设置单元格格式”对话框中,将数字格式设置为你需要的日期格式,即可得到如下截图所示的日期格式:
提示:也可以直接在公式中输入起始和结束日期,如下:
2.3 在 Excel365 /2021及更新版本中从列表生成或获取随机值
在 Excel365、Excel2021及未来版本(如 Excel2024)中,如果你想从单元格列表中生成或返回部分随机值,本节将介绍相关公式。
使用公式从列表中生成或获取随机值
要从单元格列表中提取随机值,可结合 RANDARRAY 和 INDEX 函数实现,通用语法如下:
- data:你要从中提取随机项的值列表;
- n:你希望提取的随机项数量。
例如,要从 A2:A12 名称列表中提取3 个名称,请使用下方公式:
然后按 Enter 键,即可一次性随机获取3 个名称,如下截图所示:
使用公式从列表中生成或获取不重复的随机值
使用上述公式时,结果中可能会有重复。若要从列表中随机选择且不重复,通用语法如下:
- data:你要从中提取随机项的值列表;
- n:你希望提取的随机项数量。
如果需要从 A2:A12 名称列表中随机返回5 个名称,请输入或复制下方任一公式:
然后按 Enter 键,即可从 A2:A12 列表中随机获取5 个不重复的名称,如下截图所示:
2.4 在 Excel365 /2021及更新版本中从区域生成或选择随机行
有时你可能需要从一组单元格中随机挑选部分行。为实现此目标,本文将介绍相关公式。
使用公式从区域生成或选择随机行
从一组单元格中生成随机行的通用语法如下:
- data:你要从中提取随机行的单元格区域;
- n:你希望提取的随机行数;
- {1,2,3…}:要提取的列号。
例如,要从 A2:C12 区域提取3 行数据,请应用下方任一公式:
然后按 Enter 键,即可从 A2:C12 区域随机获取3 行数据,如下截图所示:
使用公式从区域生成或选择不重复的随机行
同样,上述公式也可能产生重复数据。为防止重复行出现,可用下方通用语法:
- data:你要从中提取随机行的单元格区域;
- n:你希望提取的随机行数;
- {1,2,3…}:要提取的列号。
例如,要从 A2:C12 区域随机提取5 行数据,请应用下方任一公式:
然后按 Enter 键,即可从 A2:C12 区域随机提取5 行不重复数据,如下截图所示:
防止随机结果发生变化
你可能已经注意到,本文介绍的所有随机函数(如 RAND、RANDBETWEEN、RANDARRAY)都是易变的。每次工作表发生更改时,生成的结果都会重新计算并产生新的随机值。若要阻止随机值自动变化,这里有两种快速方法。
通过复制和粘贴防止随机结果变化
通常,你可以使用“复制和粘贴”功能,将动态公式粘贴为数值,操作如下:
1.选中包含随机公式的单元格,然后按 Ctrl + C复制。
2.右键点击选中区域,在“粘贴选项”部分点击“数值”选项,如下截图所示:
提示:你也可以按 Shift + F10,然后按 V 激活此选项。
3. 所有公式单元格将被转换为数值,随机值将不再变化。
通过实用功能防止随机结果变化
如果你已安装 Kutools for Excel,其“转为实际值”功能可一键将所有选中公式单元格转换为数值。
1.选中包含随机公式的单元格,然后点击 Kutools > 转为实际值,如下截图所示:
2.现在,所有选中的公式都已转换为数值。
最佳办公效率工具
🤖 | Kutools AI 助手:基于智能执行、生成代码、创建自定义公式、分析数据并生成图表、调用 Kutools 函数等功能,彻底改变数据分析方式… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ... | |
高级 LOOKUP:多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高级下拉列表:快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 .... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ... | |
精选功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)... | |
排名前 15 的工具集: 12 种文本 工具(添加文本、删除特定字符等) | 50 多 种图表 类型(甘特图等) | 40 多种实用 公式(基于生日计算年龄等) | 19 种插入 工具(插入二维码、根据路径插入图片等) | 12 种转换 工具(小写金额转大写、汇率转换等) | 7 种合并与分割 工具(高级合并行、分割单元格等) | 还有更多... |
使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...
Office Tab 将标签式界面引入 Office,让您的工作更加轻松
- 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读。
- 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
- 将您的生产力提升 50%,每天为您减少数百次鼠标点击!