在excel里生成不重复的随机整数

我需要在excel里生成如下随机数:
A1到A20,产生1-20不重复随机整数
B1到B20,产生21-40不重复随机整数
……
直到Y1到Y20生成481-500不重复随机数

上述操作如何在VBA中一步完成?
代码,谢谢。可用追加50分。
二楼的答案可以产生足够的不重复随机整数,但都是在A列。随机数的大小也不符合要求。

1、选择A1:A100单元格,输入=RAND()   按Ctrl+Enter组合键结束;

2、选择B1:B100单元格,输入=RANK(A1,A:A)  按Ctrl+Enter组合键结束,生成100个不重复的随机整数。

 

详见附图

 

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-19
Sub 不重复随机数()
Dim i As Long, j As Long
i = Application.InputBox("请输入上限:" & Chr(10) & "输入1000即表示产生1到1000的不重复随机数" & " 以此类推!范围在1--60000之间。" & Chr(10) & "结果产生在新工作表。" & Chr(10) & "如果输入的数超过10000,可能要计算3-5秒,请等候结果显示!", "输入上限", 100, , , , , 1)
If i = False Or i < 1 Then Exit Sub
Randomize
Dim myArr
Worksheets.Add
Application.ScreenUpdating = False
Range("a1") = 1
Range("a1").DataSeries 2, , , 1, i
myArr = Range("a1:b" & i)
For j = 1 To i
a = Int(Rnd() * i) + 1
b = Int(Rnd() * i) + 1
c = myArr(a, 1)
myArr(a, 1) = myArr(b, 1)
myArr(b, 1) = c
DoEvents
Next
Range("a1:a" & i) = myArr
Application.ScreenUpdating = True
End Sub
第2个回答  推荐于2016-01-04
Sub ss()
Range("a1:y20").Clear
For n = 1 To 500
j = Int((n - 1) / 20) + 1
Do
i = Int(Rnd * 20) + 1
Loop While Cells(i, j) <> ""
Cells(i, j) = n
Next
End Sub本回答被提问者采纳
第3个回答  2010-05-19
在工具栏中选加载宏
添加分析工具基本统计变量等
之后数据选项里就会有统计描述填加随即变量
第4个回答  2010-05-19
生成一个整数,然后判断是不是和前面有重复,如果有重复,重新生成。

excel 在范围内随机生成不重复的数字
答案:在Excel中,要生成指定范围内的不重复随机数字,可以采取以下方法:1. 利用Excel的随机数生成函数。如需在A列生成1至10之间的随机整数,可在A2单元格输入公式“=RANDBETWEEN”。2. 利用数据筛选功能确保不重复。假设已经在某一列生成了随机数,可以对该列进行升序或降序排序,再配合数据...

excel怎样生成随机的不重复的整数?
1、启动Excel并打开工作表,选择C3:C10单元格,在编辑栏中输入公式"=RAND()",按Ctrl+Enter键结束输入,此时在单元格中产生随机数,。选择D3:D10单元格,在编辑栏中输入公式"=RANK(C3:C10,C3:C10)",按Ctrl+Shift+Enter键结束公式的输入,此时选择单元格中获得需要的随机整数,。图1 产生随机数...

excel 不重复随机数
首先,在Excel中,你可以使用RAND函数来生成随机数。例如,在一个单元格中输入“=RAND()”,这个函数会返回一个介于0和1之间的随机小数。如果你需要生成一个特定范围内的随机数,比如1到100,可以使用“=RAND()100”来得到一个0到100之间的随机小数,然后使用ROUND函数取整,如“=ROUND(RAND()100,0...

excel怎样随机生成指定范围的不重复整数?
首先在excel表格的单元格内输入随机函数公式:=RAND()。点击回车即可生成一个随机数字,该数据的大小范围无法控制,需要将其设置在一定范围内。EXCEL随机生成不重复的数字?1、打开wps office; 在A1单元格输入=rand();输入完成,下拉单元格,生成随机数;在B1单元格输入=rank(a1,a:a),单元格下拉(...

excel如何随机生成不重复整数?
1、新建Excel,在E列输入学号,在D2单元格输入函数 =RAND(),该函数会返回一个0~1的小数,按Enter。2、鼠标点击上述生成的随机数,指针放置单元格右下角,变成+号时,拖动鼠标至D31单元格。3、此时D列形成的30个随机数如下 4、选择F2:F31单元格,在编辑栏中输入公式 =RANK(D2:D31,D3:D...

Excel怎么生成不重复的随机号码
1、VBA功能强大,可以利用很多算法实现随机数。这里介绍一种简单的办法。首先在Excel中按下Alt+F11,打开VBE界面,双击要生成随机数的工作表,在右侧空白处需要输入代码。输入代码如下:Sub m()Range("A:A").ClearContents'这里是A列,根据需要修改 For i = 1 To 10'这里是10个数字,根据需要修改 ...

如何在EXCEL中生成不重复随机数如何在excel中生成不重复随机数的...
在Excel中生成不重复的随机数,可以通过以下步骤实现:1. 打开Excel文件,选择需要录入随机数的单元格区域。2. 点击“数据”选项卡,选择“随机重复”中的“生成随机数”选项。3. 在“生成随机数”对话框中,设置随机数的范围和精确度等选项。4. 勾选“允许重复”选项,并点击“确定”按钮。5. 重复...

excel如何随机生成不重复整数excel如何随机生成不重复整数函数
在 Excel中可以生成指定范围内的随机整数,但是根据指定的范围与生成数量的多少,随机生成的数中会有重复出现,就是在编程软件中使用随机数生成函数也会有重复,不可避免,生成随机数可以使用RandBetWeen函数,如随机生成30至3000之间的整数。1、单击空白单元格,在空白单元格内输入函数“=RAND()”按回车键...

EXCEL如何随机打乱数据不重复随机数来帮忙
在EXCEL的中,要生成随机数有两个函数、1、随机整数-RANDBETWEEN 这个函数的他的数据,是可以重复的,或者说他的机制可以重复 虽然这样,但是对于我们经常生成一些数据数据用于测试等很有用 先来看一下具体用法:语法:RANDBETWEEN(下线,上线)结果:返回下线-上线之间的随机整数 比如我们做图表,经常就会生成...

Excel如何在数据范围生成多个随机不重复的数字
作者给出的对策如下: 1)在C列建立辅助列,然后输入:=RAND() RAND函数的作用是 生成0到1之间的随机数字,因为是很多位数的小数,所以基本不会出现重复值(或者说概率低到可以忽略不计)。 辅助列相关知识请参考下方经验:如果仍然担心会出现重复值,我们可以 再使用一个RAND函数与之相乘,进一步降低...

相似回答