excel中1-500无重复的整数随机函数

excel中,A1:A500需生成一列1-500的不重复的随机整数,请教高手,公式如何写?

'楼上的都不方便(主要是不能保证A1-A500不重复),给你搞个VBE代码.
'用法:打开excel文档,然后按alt+f11进入vbe编辑窗口,插入模块
'然后把下面的代码复制到模块里面,然后保存,再次按alt+f11返回
'excel窗口,按alt+f8,运行suijishu宏就可以在当前表格a1-a500
'产生不重复的1-500个随机数,希望对你有用,代码已亲测通过

,----------------代码如下-------------------
Sub suijishu()
Dim t, i, sjs(500)
For t = 1 To 500
Randomize
sjs(t) = Int(500 * Rnd) + 1
For i = 1 To (t - 1)
If sjs(t) = sjs(i) Then
sjs(t) = Int(500 * Rnd) + 1
i = 0
End If
Next i
Next t
For t = 1 To 500
ActiveSheet.Range("a" & t).Value = sjs(t)
Next t
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-03-10
可以用VBA代码来实现,代码及注释如下:
Sub m()'宏名
Cells(1, 1) = Int(Rnd * 500) + 1'先在第一个单元格生成一个随机数,避免用countif函数时出错
For i = 2 To 500'从第二个单元格到第500个循环,依次填数
ee:
x = Int(Rnd * 500) + 1'生成500以内的随机数
If Application.WorksheetFunction.CountIf(Range("A1:A" & i), x) > 0 Then'利用countif函数来判断,随机数是否已经存在了
GoTo ee'如果存在就返回,重新生成随机数
Else
Cells(i, 1) = x'如果不存在,就复制给A列的单元格
End If
Next i
End Sub
第2个回答  2009-10-05
在选项里启用迭代算,在A1单元格中输入公式:

=IF(COUNTIF($A$1:$A$500,A1)=1,A1,RANDBETWEEN(1,500))
第3个回答  2009-10-05
=INT(RAND()*500)
;=====================
修改,randbetween(1,500)这个符合你的要求,但不知道你的excel是否都装全了。
2000,2003都要加载分析工具库
第4个回答  2009-10-05
=INT(RAND()*499+1)

excel中1-500无重复的整数随机函数
'用法:打开excel文档,然后按alt+f11进入vbe编辑窗口,插入模块 '然后把下面的代码复制到模块里面,然后保存,再次按alt+f11返回 'excel窗口,按alt+f8,运行suijishu宏就可以在当前表格a1-a500 '产生不重复的1-500个随机数,希望对你有用,代码已亲测通过 ,---代码如下--- Sub suijishu()Dim t...

告急!excel中,A1:A500需随机生成1-500不重复的整数。
A1:A500区域输入:1、2、3、...500,(用填充法)B1单元格输入公式(注意只输入引号内的内容):"=rand()",并向下填充到B500,选中B列全部,---右键[复制]--选中单元格C1---右键[选择性粘贴]---[数值]--删除B列全部,最后按新的B列排序后,A列数值即为你要的结果。

如何在EXCEL表格中设置随机不重复数字?比如在1-100个数字中随机出现...
点击一个单元格 插入公式 =RANDBETWEEN(最小整数,最大整数)例:=RANDBETWEEN(1,100)然后下拉

用excel如何在1到500中产生一组(一组20个)连续不重复的随机数
在A1单元格输入公式:= INT(RAND()*(480-1))+1 在B1单元格中输入公式:=A1+1 选中B1单元格,右拉填充至T1单元格(共20个)拖曳选中A1:T1单元格区域 拖曳右下角的拖曳柄往下填充,下拉多少行就产生多少组。说明:第一步是取1——480之间的随机整数(您没说要小数吧?)第二步和第三步是右...

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

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

在EXCEL中生成不重复的随机数
比如1~100,A1:=INT(RAND()*100+1)A2:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$100)),4^8,ROW($1:$100)),INT(RAND()*(101-ROW()))+1),这个是数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会看到自动生成一对{},下拉到A100。

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

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

EXCEL如何随机生成指定范围的不重复的整数?
L = L + 1 Next K '输出随机整数 For J = 1 To I Cells(J + 1, 5) = Tarr(J, 1)Cells(J + 1, 6) = Tarr(J, 2)Next J End Sub 该宏 第一步:将第1、2列数据读入MYARR数组 第二步:随机生成随机数,将该随机数对应的数值移入TARR数组(目标数组)第三步:将目标数组TARR...

相似回答