Note: The other languages of the website are Google-translated. Back to English

如何在Excel中生成一个随机字符串?

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

使用公式生成随机字符串
使用VBA代码生成随机字符串
使用Kutools for Excel轻松生成随机字符串


使用公式生成随机字符串

以下公式可以帮助您在Excel的范围内生成随机数,字母和字母数字值。

1。 要创建介于5和10000之间的99999位随机数,请使用以下公式: = RANDBETWEEN(10000,99999),然后按 输入 键,一个5位数字将显示在一个单元格中,然后选择该单元格并将填充手柄拖到要包含此公式的范围内,已生成一系列5位数字,请参见屏幕截图:

文档生成字符串1 -2 文档生成字符串2

备注:您可以更改参数以获取需要。

2。 要创建随机字母,请使用以下公式: = CHAR(RANDBETWEEN(65,90))。 此公式可以生成一个从a到z的随机字母,如果需要创建四个随机字母,则需要使用&字符添加字母。 如 = CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))。 然后,您将获得四个随机字母,然后将填充手柄拖到要包含此公式的范围内。 看截图:

文档生成字符串3

说明:

(1.)该公式在Excel 2007、2010和2013中有效,但在Excel 2003中无效。在Excel 2003中,请使用该公式 = CHAR(INT(RAND()* 25 + 65))&CHAR(INT(RAND()* 25 + 65))&CHAR(INT(RAND()* 25 + 65))&CHAR(INT(RAND() * 25 + 65))

(2.)在公式65中是A而90是Z。

(3.)您可以使用&字符添加所需字母的数量。

3。 若要创建具有两个字母和两个数字的随机字母数字字符串,请使用以下公式: = CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(65,90))&RANDBETWEEN(10,99) 并且您将在包含两个字母和两个数字的范围内获得以下字符串:

文档生成字符串4

备注:您可以更改参数以根据需要获取数字,并使用&添加字母数。

轻松生成选定范围内的随机字符串:

生成带有特定字符和文本长度的随机字符串很容易, 插入随机数据 实用程序 Kutools for Excel.
立即下载 Kutools for Excel! (30-天免费试用)


使用VBA代码生成随机字符串

如果您认为上述公式很困难且很麻烦,那么下面的VBA代码可以帮助您轻松得多。 请这样做:

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

2。 点击 插页 > 模块,然后将以下宏粘贴到 模块 窗口。

Public Function RandomizeF(Num1 As Integer, Num2 As Integer)
'Update 20131107
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(x,y) 插入随机字符串,其最小长度为x个字符,最大长度为y个字符。

4。 在这个例子中,我将使用功能 = RandomizeF(5,10) 生成一个5到10个字符的字符串。 然后按 输入 键,选择单元格并将填充手柄拖动到要包含此功能的范围。 并随机创建了5到10个字符的字母数字和特定字符串。 看截图:

文档生成字符串5


使用Kutools for Excel生成随机字符串

有没有一种方法可以生成带有字母,数字和特殊字符或更多字符的随机字符串? Kutools for Excel's 插入随机数据 是一个出色的随机数(和文本字符串)生成器,可以生成具有各种字符的随机数,随机文本字符串或随机数,文本和符号,包括字母,数字,特殊字符,空格,甚至是自定义字符串。

申请前 Kutools for Excel首先下载并安装.

1。 选择一个将在其中生成随机字符串的范围,然后单击 库工具 > 插页 > 插入随机数据。 看截图:

3。 在 插入随机数据 对话框,单击 标签,然后根据需要选择字符类型,然后在 弦长 框,最后单击 OK 按钮。 看截图:

然后,所选范围已用随机字符串填充。

小技巧注意:如果要在范围内生成或插入指定的格式数据字符串(例如???? @。??。com),则也可以使用此实用程序。 这样做:

1。 选择范围并指定字符并检查 面膜。 然后输入所需的指定数据字符串。 看截图:

备注:使用 ? 在最终指定的格式字符串中指示一位随机字符。

2。 然后点击 OK or 使用。 指定的格式数据字符串已按以下方式随机生成。 看截图:

Kutools for Excel's 插入随机数据 可以帮助您轻松地在范围单元格中处理以下操作。

  • 生成或插入范围内的随机数
  • 生成或插入范围内的随机日期
  • 生成或在范围内插入自定义列表

  如果您想免费试用(30-day) 这个实用程序, 请点击下载,然后按照上述步骤进行操作。


演示:生成范围内的随机字符串


相关文章:


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部

按评论排序
注释 (29)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
很棒的教程,但该功能对我使用 EXCEL 2003 不起作用
该评论由网站上的主持人最小化
嗨 LAurent,谢谢您的评论。 很抱歉,第一种使用公式 (=CHAR) 的方法在 Excel 2007 和 2010 中效果很好,但在 Excel 2003 中效果不佳。在 Excel 2003 中,您可以尝试使用公式 =CHAR(INT(RAND()* 25 + 65)) 或=CHAR(INT(RAND()* 25 + 65)) & CHAR(INT(RAND()* 25 + 65)) & CHAR(INT(RAND()* 25 + 65)) & CHAR(INT(RAND() * 25 + 65)) 顺便说一下,VBA 代码在 Excel 2003 中运行良好,我们建议您尝试一下。
该评论由网站上的主持人最小化
谢谢你的分享。 生成随机字母数字函数在 Excel 2003 版本中不起作用。 另外,如何将其变为 8 位而不是 4 位?
该评论由网站上的主持人最小化
您好 HappyE,要生成 8 位随机字母数字,您可以在函数中重复 & CHAR(INT(RAND() * 25 + 65)) 8 次。 这意味着函数更改为: =CHAR(INT(RAND( )* 25 + 65)) & CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65))& CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65)) & CHAR(INT(RAND() * 25 + 65))& CHAR(INT(RAND() * 25 + 65))
该评论由网站上的主持人最小化
HelloKelly,很棒的公式,感谢您发布它,因为我发现它生成密码非常有用。 你知道如何在不重复字符的情况下生成它吗? 示例 - 它刚刚返回“JUUJFENQ”,但我不能重复“UU”。 TIA, MayZ
该评论由网站上的主持人最小化
大家好,我想从随机生成的字符串中排除零、O 和 X。 如何最好地实现这一目标? 非常感谢
该评论由网站上的主持人最小化
您好,使用本文方法生成随机字符串时,无法排除某些字符。 但是,您可以 更换 随机字符串中带有其他字母或数字的排除字符。 首先选择这些字符串,然后用快捷键Ctrl+F打开查找和替换对话框,最后用指定的字母或数字替换每个排除的字符。
该评论由网站上的主持人最小化
我想知道是否有一种方法可以在每个生成的代码的开头添加一个通用词,即 DISCOUNT56979、DISCOUNT88531 等。我问的原因是我可以跟踪来自不同潜在客户的折扣。
该评论由网站上的主持人最小化
在插入随机数据对话框中,有一个 面膜 “字符串”选项卡上的选项可以帮助您。 例如,在 5 个随机字符前添加“折扣”,请检查 面膜 选项,然后输入“折扣?????”在下面的框中。
该评论由网站上的主持人最小化
试试这个:="DISCOUNT"&RANDBETWEEN(10000,99999) 此代码适用于“折扣”后的 5 个随机数字字符 对于字母数字,试试这个:="DISCOUNT"&CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90, 65,90)) & CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(0,9))&RANDBETWEEN(65,90) 或="折扣"&CHAR(RANDBETWEEN(65,90))& CHAR(RANDBETWEEN(65,90, 10,99)) & 字符(RANDBETWEEN(XNUMX))&RANDBETWEEN(XNUMX)
该评论由网站上的主持人最小化
VBA 方法效果很好。 非常感谢。 我真的需要这个! 小心...
该评论由网站上的主持人最小化
如何为 jan 到 dec 字符串做 randbetween。
该评论由网站上的主持人最小化
嗨 Anil Choudhary,您可以试试我们的 Kutools for Excel。 单击 Kutools > 插入工具 > 插入随机数据,然后在随机数据对话框中,单击自定义列表选项卡。 在这里您可以选择月份名称的自定义列表,然后单击确定。 您可以在以下位置查看详细步骤: http://www.extendoffice.com/product/kutools-for-excel/excel-random-number-generator.html#a4
该评论由网站上的主持人最小化
感谢您发布使用完整的公式。
该评论由网站上的主持人最小化
嗨,我需要创建唯一代码 - 我如何测试以确保代码不重复?
该评论由网站上的主持人最小化
每次我更改工作表中的不同字段时,有没有办法防止值发生变化? 每次在工作表中更改某些内容时,密码都会重新随机化。
该评论由网站上的主持人最小化
它有效:) 但是每次他生成新密码时,如果我在另一个单元格上选择或生成,预览的密码一直在变化,我不想改变它们。 请帮忙
该评论由网站上的主持人最小化
嗨,(1)生成新密码后,您可以复制它们,然后粘贴为值。 (2) 见这篇文章:[url]http://www.extendoffice.com/documents/excel/2496-excel-random-number-stop-changing.html[/ URL]
该评论由网站上的主持人最小化
很有帮助,谢谢。 使用 VBA 代码,是否可以只显示字母和数字而不显示其他符号?
该评论由网站上的主持人最小化
VBA 不能用作真正的随机数。 我使用 (10,12) 作为标准,如果我将它运行到几千行并在相邻列中执行 countif 公式,我会发现许多重复的密码。
该评论由网站上的主持人最小化
嗨,我想在 MS WORD 选项卡中做同样的事情。 是否可以 ?
该评论由网站上的主持人最小化
这比我想象的要好几倍!! 我完全无视在单个单元格中生成多个值的想法。 保证我一有机会就会使用这些信息! 11/10。
该评论由网站上的主持人最小化
嗨,在 excel 中生成随机数时,我们可以将值插入到表单中吗?任何查询请分享
该评论由网站上的主持人最小化
嗨,我需要你的帮助。 我必须替换此文本中的最后三个值,例如: LoadTesting 。 我只想改变它的最后三个字
该评论由网站上的主持人最小化
[quote]您好,我需要您的帮助。 我必须替换此文本中的最后三个值,例如: LoadTesting 。 我只想改变它的最后三个字通过 rOHIT[/quote] 假设它在单元格 A1 中:

=MID(A1,1,LEN(A1)-3)&"CAT"
该评论由网站上的主持人最小化
我遵循公式,但是一旦我在另一个字段中输入内容,随机字段中的数字就会改变。 我只希望它随机生成一次。 不是每次我在工作表的其他字段中输入数据时。 那是一个单独的功能吗? 谢谢!
该评论由网站上的主持人最小化
找到方法: 第一种:对每个字符:=RANDBETWEEN(1;0) 随机选择一个数字或字母(例如A1到A2) 第9种:=IF(An=2;RANDBETWEEN(0;0); CHAR(RAND()*9+26)) - 在 B97 到 B2 -> 根据 A 列中的结果生成数字或字母 第 9 列:在要生成密码的单元格中:=B3&B2&B3&B4&B5&B6&B7&B8
该评论由网站上的主持人最小化
我正在寻找可以生成任何数字 0 到 9 和或任何字母 A 到 Z 的代码。但我需要在最终输出中包含 25 个字符。
这里还没有评论
加载更多
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护