EXCEL 在1-52随机选取5个不重复的数,如何做到?

在1-52随机选取5个不重复的数,不能重复
我没有表述好,1-52随机选取20个不重复的数据,选25个呢?

在a1输入53,在a2输入公式=SMALL(IF(COUNTIF(A$1:A1,ROW($1:$52)),52,ROW($1:$52)),ROUNDUP(RAND()*(53-ROW(A1)),))数组公式,以同时按ctrl+shift+回车三键结束,下拉复制a2 公式到a21,则a2:a21就是你要的
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-08
楼上好方法,我也提供一个:
在A1-A52中用公式生成52个随机数=RAND()
B1-B5中用公式排序,B1中输入=RANK(A1,$A$1:$A$52),一直拉到B5
B1:B5就是1-52中5个不重复的随机数字
第2个回答  推荐于2017-08-05
若1-52在A2:A53,B列无数据(如有则插入一列)
用VBA:代码如下:
Sub subN()
'需要取数的个数,20可改为25或其他
n = 20
Randomize
For i = 2 To 53
Cells(i, 2) = Rnd()
Next i
Range("A2:B53").Sort Key1:=Range("B1")
'删除 B2:B53 的数
' Range("B2:B53").ClearContents
' 对择需要的数据排序
Range(Cells(2, 1), Cells(n + 1, 1)).Sort Key1:=Range("A1")
'选择需要的数据
Range(Cells(2, 1), Cells(20 + 1, 1)).Select
End Sub本回答被网友采纳
第3个回答  2013-08-08
A1输入:=RANDBETWEEN(1,52)
A2输入:=IF(COUNTIF($A$1:A1,A1)>1,A1+1,RANDBETWEEN(1,52))下拉。
第4个回答  2020-05-28
=round(1+(50-1)*rand(),0)
把公式复制粘贴到d17,向右拖动填充柄即可。如果要避免重复,应该只能用vba解决。

EXCEL 在1-52随机选取5个不重复的数,如何做到?
在a1输入53,在a2输入公式=SMALL(IF(COUNTIF(A$1:A1,ROW($1:$52)),52,ROW($1:$52)),ROUNDUP(RAND()*(53-ROW(A1)),))数组公式,以同时按ctrl+shift+回车三键结束,下拉复制a2 公式到a21,则a2:a21就是你要的

教你在 Excel 中生成随机数的 5 种方法
5. 巧用VBA和INDEX函数对于随机排序和选择,VBA可以编写代码实现,如生成1-10的无重复随机数。动态数组方案则可以利用SEQUENCE、SORTBY、RANDARRAY和INDEX的巧妙组合,生成并排序出你所需的五个唯一数字。比如,使用INDEX从排序后的序列中选取前五个,确保每次选择都是独一无二的。尽管Excel的随机数是基于...

excel如何随机选取规定范围内的数据
1、RANDBETWEEN返回两个数值之间的随机整数。该函数的语法是RANDBETWEEN(bottom, top),其中bottom参数是必须有的,意思是将返回的最小整数,top参数,也是必须有的,意思是将返回的最大整数,使用该函数,每次计算工作表时将得到刷新,按下F9也可刷新数据。2、rand函数,返回大于等于0且小于1的随机实数。...

excel中在取1-100之间不重复的随机整数,如何实现?使用什么函式?
按照你的要求从1到10随机选一个数并输出,然后再执行一次,保证与上次的不重复的Java程式如下 public class GG { public static void main(String[] args) { int n=0; int count=1;生成的随机数计数 int tmp=(int)(Math.random()*10)+1;产生1-10的随机数 while(count<3){生成两个...

用excel函数随机选取数值并且不重复
因为随机取数,要达到上面的目的,就要取数确定,不再变化。所以要先在选项的公式选项卡中勾选“启用迭代计算”后确定,且因为循环计算次数较多,要把循环次数设置得大一些,如10000。主要是因为正好5列,每列都要取到且不重复,导致随机循环计算量大。确定取数的单元格位置:G1=IF(OR(G1={"",0}...

在excel中,如何从给定的单元格数据,随机选取不重复的数
INT(RAND()*5+1))I1:=INDEX(A1:F1,1,MID(SUBSTITUTE("123456",MATCH(H1,A1:F1,0),""),INT(RAND()*4+1),1))J1:=INDEX(A1:F1,1,MID(SUBSTITUTE(SUBSTITUTE("123456",MATCH(H1,A1:F1,0),""),MATCH(I1,A1:F1,0),""),INT(RAND()*3+1),1))选中H1:J1向下拖拽,就行了。

用EXCEL在8个指定的数据中任意选出5个
形如下图:A列为制定数据,D列为任意选出的结果。B列为随机数,=RAND()。C列为序列12345...n需要选取几个随机数,n就是几,你的情况n=5.D1=INDEX($A$2:$A$16,MATCH(SMALL($B$2:$B$16,C2),$B$2:$B$16,)),向下复制公式即可。

如何使用EXCEL从1-35中任取5个数字任意组合?
A1=RAND()B1=RANK(A1,$A$1:$A$35)两公式向下复制到35行。C1=INDEX($B$1:$B$35,COLUMN(A1)+ROW(C1)*5-5)复制到黄色区域。黄色区域的每一行都是一个组合。按F9键可以重新随机选取组合数据。

Excel单元格数值选取随机填入另外的单元格,要求不重复。
1. 因为随机数函数是易失性函数,即函数得到的数据在工作表有相关的操作时,如输入数据,运算等,函数结果会失去原来的数据,产生新的数据。所以要先在选项的公式选项卡,勾选“启用迭代计算”后确定。2. 五个单元格的公式分别为:H2=IF(OR(H2={"",0}),INDEX(A1:A6,RANDBETWEEN(1,6)),H2)即...

在Excel中怎么在任意24个数字中选6个组合排列?
选取一个数,再依次对剩余的数进行取值。1、可以用随机函数randbetween()来随机取一个数,再用index()取这个位置的数字。=INDEX(A1:A24,RANDBETWEEN(1,COUNT(A1:A24)))2、把取过的数值,隐藏。=IF(COUNTIF(A$26:B26,A1)>0,"",A1)3、再对B列排序。=IFERROR(SMALL(B$1:B$24,ROW(A1)...

相似回答