需要随机数公式

需要随机数公式

我需要你的帮助。我想生成一系列随机数(最少 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()从更改1010^3或 即可。1000


如果你想了解更多关于Escaping Characteraka 的Backslash信息,你可以阅读这个论坛上的帖子粗人

如何在 Excel 单元格格式中转义特殊字符


我还想补充一点警告在评论中已经提到过斯科特·克雷纳先生关于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 中,该字符\可能有些多余。)
当然,结果是不稳定的,您可能需要将它们转换为永久值。

相关内容