EXCEL怎样产生1-25之间的6个不同随机数

2024-11-30 00:28:12
推荐回答(5个)
回答1:

aaron8421 - 区域总裁 十三级
的方法行不通
因为用这个方法取到的后面的数字一定比前面大,所以得到的结果不随机,取到25的概率远大于取到1的概率。

707918886 - 首席执行官 十六级
的方法也行不通
因为可能产生重复值

我的方法如下:
A列留空
B1输入数组公式(输入时按ctrl+shift+enter完成)
=small(if(countif($a1:a1,row($1:$25))=0,row($1:$25)),int((27-column())*rand())+1)
向右填充至G1,再向下填充

对补充问题的回复:
ctrl+shift+enter是数组公式的输入方法,如果数组公式没有按此方法输入,会被当做普通公式,通常会得到错误值。

$a1:a1简单的说就是一个混合引用,在填充公式时,该引用中的相对引用部分会随公式所在单元格的变化而按照一定规律变化(规律你可以通过观察得到),而绝对引用部分(加了$的行号或列标)则不会变化。

回答2:

假设产生1到100之间10个不重复随机整数,在a列得到数据,a2公式:(为方便设计公式,从第二行输入公式)
=small(if(countif(a$1:a1,row($1:$100))=0,row($1:$100)),randbetween(1,101-row(a1)))
数组公式,需要按ctrl+shift+回车,完成公式,下拉10行。

回答3:

如果要不重复 看这个方法
http://z.baidu.com/question/108022220.html
根据你的数据,修改为:

A1:A25输入 1~25
B1输入
=INDEX($A$1:$A$25,RANDBETWEEN(IF(COLUMN()=2,1,MATCH(A1,$A$1:$A$25,)+1),COLUMN(T1)),)
公式往右拉到G1
然后往下拉就行了~~
============================

zipall - 少校 十一级 的方法的确很好~~

“每行数字不相同”是什么意思? 组合?如果是 看看我回答的这个问题~~稍微改下即可
http://zhidao.baidu.com/question/103737518.html?fr=im2

回答4:

输入:=INT(RAND()*(25-1)+1)
即可得到1-25的整数

回答5:

=floor(1+25*rand(),1),每个格都填这个公式就行了。