excel 创建长度可变的兰德二进制字符串

8ftvxx2r  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(118)

所以我使用2个兰德特性,第一个是一个rand,它生成一个4到19的值,表示第二个rand中将有多少位。
第二个需要创建一个随机的二进制字符串(在一个单元格中,而不是试图在我已经很大的项目上制作很多单元格),长度等于第一个说的。
例如,每个单元格有5个单元格,第一行使用兰德表示值为4,14,6,8,9。例如=RAND()*(19-4)+4
然后下一个需要生成类似于以下内容的结果:0110,10000111011001,000011,10101010,110011001
我的问题是使用= dec 2bin(ROUND(兰德()(2^B10-1)+1,0),B10)B10是表示长度的第一个单元格
我得到了很多结果,只是不会发布一个#NUM错误。似乎10位是最大值?有没有一种方法可以避免使用大量的单元格?我将在这整个事情上打击我的笔记本电脑的计算能力,并真的试图保持公式的数量下降。
提前感谢大家。
=ROUND(兰德()
(2^B10-1)+1,0)在b10大于10时不起作用...

e3bfsja2

e3bfsja21#

我的第一个选择是使用RandbetweenBase,如果您可以使用它们的话。
要生成位数,请执行以下操作:

=RANDBETWEEN(4,19)

然后(类似于@Mayukh Bhattacharya所建议的)生成随机二进制数:

=BASE(RANDBETWEEN(0,2^A2-1),2,A2)

如果您使用的是旧版本的Excel,并且必须使用dec 2bin和兰德,我可以将此添加到我的帖子中。

相关问题