如何生成不重复以上限制的随机数?

How to generate random number with no repeat above limit?

我想我已经达到了随机生成数的上限。

有什么解决方法吗?

我需要生成十个唯一的 19 位随机数 formula/string。

我有这个:=TRUNC (RAND() * (9999999999999999999 - 1) + 1) 但电子表格将其重写为:

=TRUNC (RAND() * (9999999999999990000 - 1) + 1)

所以我猜极限是 9999999999999990000。

A1 中所需的输出格式:

2459759093970314589,6393667943286134368,4897561254458152397, etc.

Excel 中的数字精度为 ~15 位有效数字。另一种方法是将随机数生成为字符串(第一个字符需要在 1 到 9 的范围内,其他字符在 0-9 的范围内)。像这样:

=CONCAT(
TRUNC(RAND()*9+1);
TRUNC(RAND()*10);
TRUNC(RAND()*10);
TRUNC(RAND()*10);
...
)

=TRANSPOSE(regexextract(JOIN("",ArrayFormula(RANDBETWEEN(row(INDIRECT("a1:a"&A1*A2))^0-1,9))),rept("(\d{"&A1&"})",A2)))