跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

在Excel中生成具有指定特定长度的随机数

Author Sun Last modified

在现代办公任务中,您可能需要生成具有一定位数的随机数或密码,例如用于临时账户、代码、用户注册或系统测试。手动创建这样的随机数既繁琐又容易出错。好消息是,Excel提供了几种灵活的方法,使用公式、工具和VBA来高效生成指定长度的随机数。本教程将引导您了解实用方法——包括Excel公式和内置的Kutools for Excel工具——帮助您根据实际需求和不同的应用场景生成所需长度的随机数。

使用公式生成指定特定长度的随机数

使用TEXT和RANDBETWEEN生成带前导零的随机数

使用数组公式 / SEQUENCE / RANDARRAY(Microsoft 365/2021)一次性生成多个随机数

使用便捷工具生成指定长度的随机数或其他字符

示例文件


使用公式生成指定特定长度的随机数

固定长度的随机数

假设您希望生成一个具有固定长度的随机数字串,例如6位数字(从100000到999999)。您可以使用以下公式,该公式特别适用于不需要前导零的情况:

=RANDBETWEEN(100000,999999)

在单元格中输入此公式(例如,B1),然后按Enter键。Excel将生成一个6位的随机数。如果重新计算,每次都会更新值。这种方法确保您的随机数始终为6位长,但不会保留前导零。如果您需要不同的长度,例如4位或8位,只需将两个数字更改为所需的位数(例如,1000和9999表示4位)。

注意:每当您更新、重新计算或重新打开工作表时,由于每次都是动态生成的,随机数可能会发生变化。要使数字保持静态,您可以复制该单元格并使用 粘贴数值 覆盖它。
insert random numbers in a given specific length by using formula

基于您的输入生成可变长度的随机数

在某些情况下,您可能希望随机数的长度根据您在另一个单元格中输入的数字动态变化(例如,您在A1单元格中指定“5”,则会在A2单元格中出现一个5位数)。您可以使用以下公式实现这一功能:

选择单元格A2并输入此公式:

=LEFT(RANDBETWEEN(1,9)&RANDBETWEEN(0,999999999999999)&RANDBETWEEN(0,999999999999999), A1)

按下 Enter键。最初,如果A1为空,公式将返回空白。现在,只要您在A1单元格中输入一个数字(如5或9)并确认,A2单元格中就会出现相应长度的随机数。
Random number in a changed length

请注意,由于长度是可定制的,A1中非常大的值可能导致公式耗尽随机数字,或者无法产生真正的随机结果。在大多数密码应用中,4-16位是实用的。

注意:此公式的输出每次工作表重新计算时都会更新,因此如果需要值保持不变,请使用 粘贴数值 在生成后进行操作。

使用TEXT和RANDBETWEEN生成带前导零的随机数

如果您的应用程序需要具有固定长度的随机数(包括前导零,例如生成代码001542而不是1542),可以结合TEXTRANDBETWEEN函数。这种方法适用于生成随机数的场景,其中无论是否有前导零,数字格式应始终保持一致的位数。

1. 在目标单元格中(例如,B1),输入以下公式以生成带有前导零的6位数字:

=TEXT(RANDBETWEEN(0,999999),"000000")

2. 按Enter键。该单元格显示一个随机数作为文本,恰好有6位数字,必要时包括前导零(例如,000673)。

您可以调整格式字符串中的零(例如,“0000”表示4位,“00000000”表示8位)。要生成多个代码,拖动公式向下复制到更多单元格。

提示:尽管结果看起来像数字,但它被格式化为文本。如果您需要这些代码作为没有前导零的数字,请使用标准的RANDBETWEEN公式。如果需要代码保持静态,请记住复制并粘贴数值

场景分析:当您的应用程序(如Web帐户注册)需要具有特定长度且保留前导零格式的代码时,此解决方案非常理想。它避免了Excel在纯数字格式中删除前导零的常见行为。

使用数组公式 / SEQUENCE / RANDARRAY (Microsoft 365/2021) 一次性生成多个随机数

如果您需要生成一系列或一批相同位数的随机数,Microsoft 365/2021 提供了高级功能,允许您在单个公式中生成多个值——这对于快速创建一整列随机代码进行导入、测试或库存编号非常有用。

选择左上角单元格(例如,E1)并使用此公式一次创建10个值:

=TEXT(RANDBETWEEN(SEQUENCE(10,1,0,0),99999999),"00000000")

或者,为了在 Microsoft 365/2021 中提高效率:

=TEXT(RANDARRAY(10,1,0,99999999,TRUE),"00000000")

此公式立即用10个唯一的8位随机数填充一列,保留前导零。您可以调整行/列参数以适应批量需求。

注意事项:每次重新计算都会生成新值。使用粘贴数值以保持结果固定。此外,此方法要求 Microsoft 365/2021 或更高版本支持动态数组函数。

场景分析:方便批量生成代码、测试密钥、访问PIN码以及需要一次性生成大量随机数的情况。


使用便捷工具生成指定长度的随机数或其他字符

如果您不仅需要随机数字串,还需要给定范围内的随机小数、整数,甚至随机文本字符串、日期、时间或自定义列表,可以尝试 Kutools for Excel 中的插入随机数据功能。该实用程序允许您快速生成各种随机数据,具有可选的长度和值范围,满足各种办公自动化需求。

免费安装 Kutools for Excel 后,按照以下步骤操作:

选择您要随机数据的单元格区域。转到 Kutools > 插入 > 插入随机数据.
Insert Random Data with kutools

插入随机数据对话框中,选择所需的数据类型——数字、小数、日期、时间、字符串或自定义列表。根据需要指定最小/最大值、数字长度或字符集等设置。

插入随机整数或小数
Insert random integers Insert random decimals

插入随机日期或时间
Insert random date Insert random time

插入随机字符串或自定义列表
Insert random string Insert random custom list

您可以批量生成静态数据——一旦插入,随机值不会改变,除非再次运行该工具。这种方法对于测试数据、编码、批量注册等特别有帮助。

优点:无需公式或代码;高度灵活且用户友好。注意事项:Kutools 是一个额外的插件,必须单独下载和安装。


示例文件

点击下载示例文件


其他操作(文章)

在Excel中根据给定的均值和标准差生成随机数
在某些情况下,您可能希望根据给定的特定均值和标准差生成一系列随机数,如何快速解决这个问题?现在,本教程将介绍一种在Excel中处理它的方法。

在Excel中的范围内生成随机字符字符串
有时您可能需要在单元格中生成随机字符串,例如不同的密码。本文尝试向您展示一些技巧,以在Excel中生成不同的随机字符串。

在Excel中仅生成随机偶数或奇数
在本教程中,我将介绍一些公式,帮助您在Excel中仅生成随机偶数或仅生成随机奇数。

在Excel中快速生成两个日期之间的随机日期
当您使用Excel文件时,有时您想为某些目的生成随机日期。当然,您可以手动逐个输入日期,但如果需要插入多个日期,这种方法将耗费时间和无聊。如何在Excel中快速生成地球上的随机日期?


  • 超级公式栏(轻松编辑多行文本和公式);阅读布局(轻松读取和编辑大量单元格);粘贴到筛选区域...
  • 合并单元格/行/列并保留数据;拆分单元格内容;合并重复行并求和/平均值... 防止重复单元格;比较区域...
  • 选择重复或唯一行选择空白行(所有单元格为空);在多个工作簿中进行超级查找和模糊查找;随机选择...
  • 精准复制多个单元格而不改变公式引用;自动创建对多个工作表的引用;插入项目符号、复选框等...
  • 收藏并快速插入公式、区域、图表和图片;用密码加密单元格创建邮件列表并发送电子邮件...
  • 提取文本,添加文本,按位置删除,删除空格;创建并打印分页小计;在单元格内容和批注之间转换...
  • 超级筛选(保存并应用筛选方案到其他工作表);按月/周/日高级排序,频率等;按粗体、斜体特殊筛选...
  • 合并工作簿和工作表;基于关键列汇总表格;将数据分割到多个工作表批量转换 xls、xlsx 和 PDF...
  • 数据透视表按周数、星期几等分组... 用不同颜色显示未锁定、已锁定单元格高亮显示包含公式的单元格/名称...
kte tab 201905
  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中。
  • 将您的生产力提高 50%,每天为您减少数百次鼠标点击!
officetab bottom