我需要你的帮助。我想生成一系列随机数(最少 1000 个数字)。格式为:XG123456789J01(XG 123456789 J01)XG 和 J 是数字中的永久值。我对如何使用文本和数字的组合生成随机数感到非常困惑。请指导我。谢谢
答案1
您可以使用以下公式来生成随机唯一数字:
• 单元格中使用的公式A1
=TEXT(INT(RAND()*10^11),"X\G\ 000000000 J00")
或者,如果您目前正在使用,MS365
那么使用RANDARRAY()
• 单元格中使用的公式A1
=TEXT(INT(RANDARRAY(10)*10^11),"X\G\ 000000000 J00")
笔记:在之前和之后使用反斜杠G
是转义字符。因为X
&G
本身有不同的用途,所以我们将其含义转义,因此要求Excel
用该字符逐字组成文本。此外,上述公式将返回Unique
随机数。由于根据 OP 您至少需要 1000 个数字,因此只需将公式中1st
的参数RANDARRAY()从更改10
为10^3
或 即可。1000
如果你想了解更多关于Escaping Character
aka 的Backslash
信息,你可以阅读这个论坛上的帖子粗人
我还想补充一点警告在评论中已经提到过斯科特·克雷纳先生关于VOLATILE
所用函数的性质,即RAND()&RANDARRAY()
你知道公式是实时的,任何随机公式都是不稳定的, 因为它会在 Excel 重新计算时发生变化,也就是每次 在任何打开的工作簿中的任何单元格上进行更改。如果您想创建它们 然后离开他们,然后你将需要 vba 或复制/粘贴特殊只是 值来删除公式。
答案2
要生成单个数字,您可以使用以下公式:
=REPLACE(TEXT(RAND(),"X\G,000000000J00"),3,1,)
然后您可以根据需要多次复制。
如果您有新版 Excel,RANDARRAY
您可以一次生成多个数字,例如 100
=REPLACE(TEXT(RANDARRAY(100),"X\G,000000000J00"),3,1,)
(在英文版 Excel 中,该字符\
可能有些多余。)
当然,结果是不稳定的,您可能需要将它们转换为永久值。