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应用程序 窗口。

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

3. 然后,将此公式拖动并复制到其他单元格,因为您要生成 100 到 200 之间的随机数:


 使用VBA代码生成没有重复的随机数

如果上面的公式让你有点难以理解,你可以应用下面的VBA代码,请这样做:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

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_下界 = 100 以及 xNum_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,然后按 输入 获取第一个随机数的键,见截图:

=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 是给定的总值; B2 以及 C2 是要在其间生成随机数的底部和顶部值; D2 表示要生成的随机数的个数; A4 是您输入此公式的单元格。

3. 继续将以下公式复制到A5单元格中,然后按 输入 获取第二个随机数的键,见截图:

=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应用程序 窗口。

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。 然后,单击 库工具 > Range > 随机排序/选择范围,请参见屏幕截图:

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:00 点下午 16: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 函数。

 用公式在两个数字之间生成随机数

要创建特定范围内的随机数列表,请应用以下公式:

请根据需要输入以下任何公式,然后按 输入 得到结果的关键,看截图:

=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: 表示返回整数;
  • FALSE: 表示返回十进制数。

 用公式生成不重复的随机数

当使用普通的 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 个随机数列表,没有重复,请应用以下任何您需要的公式,然后按 输入 获得结果的关键:

=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: 表示返回整数;
  • FALSE: 表示返回十进制数。

生成一系列不重复的随机数

如果要在单元格范围内生成不重复的随机数,只需在 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: 表示返回整数;
  • FALSE: 表示返回十进制数。

2.2 在 Excel 365 / 2021 中生成随机日期

通过使用这个新的 RANDARRAY 函数,您还可以快速轻松地在 Excel 中生成多个随机日期或工作日。

 使用公式在两个日期之间生成随机日期

要在两个特定日期之间创建随机日期列表,您可以应用以下公式:

1. 在空白单元格中输入以下公式以生成随机日期,然后按 输入 获取五位数字列表的键,请参见屏幕截图:

=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. 将以下公式输入或复制到空白单元格中,然后按 输入 获取数字列表的键,如下图所示:

=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))
  • data:要从中提取随机项的值列表;
  • 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)

然后,按 输入 键,你会一次随机得到3个名字,看截图:


 使用公式从没有重复项的列表中生成或获取随机值

使用上述公式,您可能会在结果中发现重复项。 要从不重复的列表中进行随机选择,通用语法是:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n))
  • data:要从中提取随机项的值列表;
  • 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)

然后,按 输入 从列表 A5:A2 中获取 12 个随机名称的键,没有重复,请看截图:


2.4 从 Excel 365 / 2021 的范围中生成或选择随机行

有时,您可能需要从 Excel 中的一系列单元格中选取一些随机行。 为了完成这个任务,在这里,我将讲一些公式。

 使用公式从范围中生成或选择随机行

从一系列单元格生成随机行的通用语法是:

=INDEX(data, RANDARRAY(n, 1, 1, ROWS(data), TRUE), {1,2,3…})
  • data:要从中提取随机行的单元格范围;
  • 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)

然后,按 输入 从范围 A3:C2 中获取 12 个随机数据行的键,请参见屏幕截图:


 使用公式从不重复的范围中生成或选择随机行

同样,上述公式也可以产生重复数据。 为防止出现重复行,您可以使用以下通用语法:

=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n), {1,2,3…})
  • data:要从中提取随机行的单元格范围;
  • 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)

然后,按 输入 键,将从范围 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.