用excel随机1到60,生成6个不重复得整数

很急
2025年03月13日 02:03
有5个网友回答
网友(1):

启用迭代计算


如附件:


A1输入

=IF(COUNTIF($A$1:$A$6,A1)>1,1+INT(RAND()*60),A1)

下拉至A6,  

重新下拉一次 刷新一次


网友(2):

Excel有一个随机函数RAND(),用公式=rand()*59+1可以得到一个1-60的小数。这个时候可以通过修改单元格格式中数字为数值,设置保留小数点后0位数,让它显示成整数。

但是用这个随机函数是没办法完全实现6个结果都不相同的情况的。不过有很大可能6个结果都不相同。如果出现相同的,双击一个单元格就可以达到刷新重新随机的作用。多随机几次就行了。

我也试了用宏代码来编程,但是还是没办法完全实现不相同的情况。

网友(3):

如下图所示结构:

A列为1-60的数列(随机数范围);

B列对应1-60为随机数,B2=RAND();

C列为1-6的数列(不重复的个数);

D列为结果:D2=INDEX($A$2:$A$61,MATCH(SMALL($B$2:$B$61,C2),$B$2:$B$61,))向下复制公式即可。

网友(4):

Option Base 1
Sub A6个随机数()
Dim a(), n As Long, i As Long, j As Long
n = 6
ReDim a(1 To n, 1)
Randomize
For i = 1 To n
my:
   a(i, 1) = Int(60 * Rnd + 1)
   If a(i, 1) = 0 Then GoTo my
   For j = 1 To i - 1
    If a(i, 1) = a(j, 1) Then i = i - 1: Exit For
  Next
Next
Range("a2:a7").ClearContents
Range("a2:a7") = a
End Sub

网友(5):

=INT(RAND()*60) 生成随机数,往下拉就行了。一般不会重复。