excel 如何随机生成不重复的10个数

作者&投稿:示须 (若有异议请与网页底部的电邮联系)
Excel 怎样产生规定值之间不重复的10个随机数~

假设产生1到100之间10个不重复随机整数,在A列得到数据,A2公式:(为方便设计公式,从第二行输入公式)
=SMALL(IF(COUNTIF(A$1:A1,ROW($1:$100))=0,ROW($1:$100)),RANDBETWEEN(1,101-ROW(A1)))
数组公式,需要按CTRL+SHIFT+回车,完成公式,下拉10行。

为方便设计公式,数据在A1,公式在C1,如图:


C1公式:
=SMALL(IF(COUNTIF($B1:B1,ROW(INDIRECT("1:"&$A1)))=0,ROW(INDIRECT("1:"&$A1))),RANDBETWEEN(1,$A1-COLUMN(A1)+1))
数组公式,按三键(CTRL+SHIFT+回车)完成公式,右拉到Q1。

1、利用一个辅助列比如C3到C12,在C3输入公式:=rand()向下拉到C12
2、然后在B3利用排序函数得到1~10的不重复数字,B3输入公式:=RANK(C3,$C$3:$C$12)
向下拉到B12。
如果你觉得C列碍眼,可以把C列隐藏,也可以先复制B列,再在B列选择性粘贴/数值/确定,就可以把C列删除了。甚至还有一个更简单的办法:把辅助列建在其他工作表,比如在Sheet2的C3(也可以其他单元格,但后面公式要相应更改)输入公式:=rand()向下拉到C12,然后在你的表格Sheet1的B3输入公式:=RANK(Sheet2!C3,Sheet2!$C$3:$C$12)向下拉到B12。

这样即可:
先在A1:A10填充1~10的自然数列,在B1输入公式:
=RAND()
将B1向下填充至B10,再选中B、A两列,以B列排序,最后删除B列即为你要的结果。

帮你写一段代码:
按alt+f11进入vba编辑窗口--插入模块--把下面的代码复制到模块里面,按f5运行代码就可以了。这里假设你的表格叫sheet1,如果不是的话你可以把代码里面的sheet1替换成你表格的名字(已测试)

Sub rnd_test()
Dim t, i As Integer
Dim p(10) As Integer
For t = 1 To 10
Randomize
p(t) = Int(10 * Rnd) + 1
For i = 1 To (t - 1)
If p(t) = p(i) Then
p(t) = Int(10 * Rnd) + 1
i = 1
End If
Next i
Worksheets("sheet1").Activate
Range("a1").Select
ActiveCell.Offset(t - 1, 0).Value = p(t)
Next t
End Sub

那就对1-10这10个数随机排序,然后随机赋给相应的单元格。

=ROUND(1,10)


塔城市18447387082: excel如何随机生成不重复整数? -
唐柳他利: 1、首先在excel表格中输入随机函数公式:=rand().2、点击回车并下拉公式即可得到一组随机函数,先将该组随机函数复制粘贴为数值,将其固定显示在单元格中. 3、然后再其右侧的空白单元格中输入公式:=RANK($B$3:$B$12,$B$3:$B$12). 4、点击回车并下拉公式即可得到一组不重复的随机整数.

塔城市18447387082: excel如何生成一定范围内不重复的随机整数? -
唐柳他利: 打开wps office; 在A1单元格输入=rand();输入完成,下拉单元格,生成随机数;在B1单元格输入=rank(a1,a:a),单元格下拉(按照需要的量);生成随机不重复的整数,详细步骤:1、打开wps office. 2、在A1单元格输入=rand(). 3、输入完成,下拉单元格,生成随机数. 4、在B1单元格输入=rank(a1,a:a),单元格下拉(按照需要的量). 5、生成随机不重复的整数.

塔城市18447387082: excel随机生成数字1 - 35 1 - 9怎么操作 号码不要重复 -
唐柳他利: 随机生成不要重复数字需要增加辅助列. 在B1输入=rand(),在A1输入 =RANK(B1,$B$1:$B$35)+COUNTIF($B$1:B1,B1)-1 然后拖着B1,A1复制公式到35行, A列里面就是不重复的1-35随机数. 要生成1-9,用这个公式,拖到第9行. =RANK(B1,$B$1:$B$9)+COUNTIF($B$1:B1,B1)-1 每按一次F9就重新生成一次.

塔城市18447387082: 我想在Excel里应用公式让1 - 100随机生成,但不能重复,不知道怎么应用 -
唐柳他利: A1输入文本“随机数” A2输入数组公式(数组公式输入时按ctrl+shift+enter完成) =SMALL(IF(COUNTIF(A$1:A1,ROW($1:$100))=0,ROW($1:$100)),ROUNDUP((101-ROW(A1))*RAND(),)) 向下填充需要的行数(最多100行)

塔城市18447387082: 告急!excel中,A1:A500需随机生成1 - 500不重复的整数. -
唐柳他利: A1输入公式 =int(rand()*499)+1 A1公式向下复制到A500哦,才发现要不重复的,补充如下:按刚才的方法,A1:A500中已生成随机数,这时 B1输入公式 =RANK(A1,$A$1:$A$500) 将B1公式向下复制到B500,这时B1:B500就是不重复的随机数字

塔城市18447387082: 在excel中,如何从给定的单元格数据,随机选取不重复的数 -
唐柳他利: H1:=INDEX(A1:F1,1,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向下拖拽,就行了.

塔城市18447387082: 如何在EXCEL中生成不重复随机数 -
唐柳他利: 在A2中输入=rand() 在B2中输入=rank(A2,A:A,0) 同时向下复制,你要多长的随机数,就向下复制多少行即可. 如果你要的随机数起始值不为1,比如要100到200内的随机数,就把第二个公式加个基数就行,如: =rank(A2,A:A,0)+99 然后向下复制100行就是了

塔城市18447387082: EXCEL RAND()公式 如何避免产生重复的随机数 -
唐柳他利: 工具/材料:Microsoft Office Excel2016版,Excel表格. 1、首先选中Excel表格,双击打开. 2、然后在知该界面道中版,选中要显示随机数的单元格. 3、再者在该界面中,公示框中输入随机数公式“=RAND()”. 4、其次在该界面中,...

塔城市18447387082: Excel中,怎么在一列随机出现的数据中,随机抽取1个数或者2个数? -
唐柳他利: B1单元格提取第一个数,公式为=IFERROR(SMALL(A1:A20,RANDBETWEEN(1,COUNT(A1:A20))),"该区域无数值") C1单元格提取第2个数,公式为 =IFERROR(SMALL(IF((A1:A20=B1)+(A1:A20=""),"",A1:A20),RANDBETWEEN(1,COUNT(A1:A20)-1)),"区域数值少于2个") 其中,C1单元格为数组公式,同时按Ctrl+Shift+Enter三键结束

塔城市18447387082: excel中如何在单元格输入随机数切不重复 -
唐柳他利: 不重复随机数,用VBA做 按ALT+F11,调出vbe 双击左边sheet列表的sheet1 在右边代码编辑区贴入以下代码 Public Sub sjs() Dim rng As Range, rng1 As Range Set rng = Range("A1:F1") rng.ClearContents Randomize For Each rng1 In rng Do rng1 = Int(Rnd * 20 + 1) Loop Until Application.WorksheetFunction.CountIf(rng, rng1) = 1 Next End Sub excel表格菜单栏,工具,宏,选中该宏,点击执行

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网