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

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:38:26
我想问一下,在EXCEL中怎样产生1-25之间的6个不同随机整数,而且要多行,每行的6个数不能相同。
比如A1-F1,产生6个不同随机整数
往下拉A2-F2,也会产生6个不同的随机整数。

并且每一行的6个数都在1-25之间,请问怎样实现,非常感谢!!
aaron8421:
你说的那个我看了一下,他的问题稍有不同,他要求列取不同的三个数,我要很多列的,故列是没有要求的,也就是说A2=A3=A4,F5=F6。。。都是可以的,我需要的是每一行的随机数不同

我用你这个试了7一下,得不到值,我查找了一下原因,原来是“RANDBETWEEN”我没有这个函数,可是你们的例子中都用,是不是版本的原因,我的是2003版

注意是不同随即数,如果可以相同,我就不问你们了,我自己很简单就能做到

zipall :
你反映的问题对,我说了在列中,我没有要后面比前面大的,对列我无要求,举例来说我可能要取100行,1000行,要求每行都是1-25的5个随机数,每行数字不相同,我先试一试你的。

zipall - 少校 十一级:
非常感谢,您的回到是正确的,我尝试过了,在每行没有重复,且大小无先后顺序额,列上无任何规律,完全符合,我还有个问题想问你,我直接输入的时候和按照你说的按ctrl+shift+enter结果的确不同,请问这三个组合键怎么会出来一个{}。他们起什么作用,非常感谢!
另外你那个$a1:a1是什么意思,之前A1已经留空了。

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

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

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

使用随机函数

如果要不重复 看这个方法
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
然后往下拉就行了~~
============================