当前位置:科普知识站>IT科技>

excel中如何才能得到不重复的随机数

IT科技 阅读(8.11K)

无直接的公式,但可以用间接方法生成 1、A1-A100中用公式生成100个随机数=RAND() 2、B1输入=RANK(A1,$A$1:$A$100),一直拉到A100 B1:B100就是100个不重复的随机数字

excel中如何得到不重复的随机数?情况下面操作方法。

材料/工具

Excel

方法

启动Excel

如,要求,1-50个数字随机不重复分布在50个单元格里 1、在A1单元格输入“=IF(ROW()=1,INT(RAND()*50+1),LARGE(IF(COUNTIF(INDIRECT("A1:A"&ROW()-1),ROW($1:$50)),,ROW($1:$50)),INT((51-ROW())*RAND()+1)))”,不要直接回车或点前边的勾确认,而

excel中如何才能得到不重复的随机数

按Alt + F11启动VBA

一、工具 笔记本电脑,office excel软件 二、方法(以要求1-50个数字随机不重复分布在50个单元格中为例) 1、在A1单元格输入“=IF(ROW()=1,INT(RAND()*50+1),LARGE(IF(COUNTIF(INDIRECT("A1:A"&ROW()-1),ROW($1:$50)),,ROW($1:$50)),INT((51-ROW(

excel中如何才能得到不重复的随机数 第2张

选择要生成随机数的工作表。

在A2中输入=rand() 在B2中输入=rank(A2,A:A,0) 同时向下复制,你要多长的随机数,就向下复制多少行即可。 如果你要的随机数起始值不为1,比如要100到200内的随机数,就把第二个公式加个基数就行,如: =rank(A2,A:A,0)+99 然后向下复制100行就是了

excel中如何才能得到不重复的随机数 第3张

输入以下代码:

先在A1:A8中输入相同的公式: =INT(RAND()*15+1) 再在B1中输入下面公式,并拖动复制到B8格,如果A列中有重复,B列对应的格会显示大于1的数字,等于1为不重复。 =COUNTIF($A$1:$A$8,A1) 然后按键盘上方的F9功能键,直到B列格中都是1,就行了。

Sub m()

如果用公式的话,只需要,在1到481之间生成一个随机数,后面的数依次加1 但是公式,可能控制不了,重复, 如果不想重复只能用VBA了。

Range("A:A").ClearContents'      这里是A列,根据需要修改

如果不想增加辅助行的话,那就excel的迭代计算。 excel公式是不允许引用公式自身所在单元格的,但在迭代计算时就得循环引用以达到迭代的目的。 要迭代计算03版在工具>选项>重新计算中选上“迭代计算”,并选择合适的次数与误差,次数过大会造成“

For i = 1 To 10'                          这里是10个数字,根据需要修改

方法一:公式法 1、我们以生成1-10范围内的随机数字为例,讲述方法。 首先,在A2单元格中输入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1)) 然后按下Ctrl+Shift+Enter三键结束数组公式。 2、然后,

kkk:

Randomize

A2数组公式,输入后不要直接回车,要按三键 CTRL+SHIFT+回车 下拉。 =SMALL(IF(COUNTIF(A$1:A1,10-ROW($1:$10))=0,10-RO

x = Int(Rnd * 10) + 1

方法一:公式法 1、我们以生成1-10范围内的随机数字为例,讲述方法。 首先,在A2单元格中输入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1)) 然后按下Ctrl+Shift+Enter三键结束数组公式。 2、然后,

If Application.CountIf(Range("A:A"), x) = 0 Then

先在选项中打开“启用迭代循环”,并把最大迭代次数设置到1000或更大。然后选择A1:10单元格,输入: =IF(OR(N(ISNUMBER(A1)),COUNTIF($A$1:$A$10,A1)>1),RANDBETWEEN(1,100)) 按Ctrl+Enter。

Cells(i, 1) = x

1、在自己的电脑上打开EXCEL表格 2、首先创立了所需的数据表格,输入自己的数据 3、将电脑下方EXCEL的sheet修改名字 4、将第一个表格中的数据建立在如图所示的sheet里,如第一周,第二周,第三周 5、建立好几个表格,举例对这个问题进行辅助说明

Else

GoTo kkk

首先,将你的所有单元格区域定义一个名称。如:_1 然后,在函数或公式中引用它。 如你所说,先将M14~M27,M41~M58,等等,定义为一个名称,这个名称可以是任意的(除数字),如:_1 然后将你的式子中的M$14:M$27改为名称引用"_1",结果如

End If

Next i

End Sub

在A2输入公式: =SMALL(IF(COUNTIF(A$1:A1,ROW($1:$80)),99,ROW($1:$80)),1+INT(RAND()*(82-ROW(A1)))) 公式以CTRL+SHIFT+ENTER三键结束。 将公式向下复制到A21单元格。

excel中如何才能得到不重复的随机数 第4张

按F5运行,即可得到结果。

难点在不能重复 A2粘贴公式 =SMALL(IF(COUNTIF(C$1:C1,ROW($1:$100)),65536,ROW($1:$100)),ROUNDUP(RAND()*(101-ROW(A1)),)) 粘贴完后不要回车,按ctrl+shift+enter三键组合结束 公式下拉即可

excel中如何才能得到不重复的随机数 第5张

扩展阅读,以下内容您可能还感兴趣。

如何在excel表中生成0到9之间不重复的10个随机数

A2数组公式,输入后不要直接回车,要按三键  CTRL+SHIFT+回车  下拉。

=SMALL(IF(COUNTIF(A$1:A1,10-ROW($1:$10))=0,10-ROW($1:$10)),INT(RAND()*(10-ROW(A1)))+1)

或者用这公式也行:(此公式输入后直接回车即可,无需按三键)

=SMALL(IF(COUNTIF(A$1:A1,{0;1;2;3;4;5;6;7;8;9})=0,{0;1;2;3;4;5;6;7;8;9}),INT(RAND()*(10-ROW(A1)))+1)

excel如何实现随机抽取且不重复

方法一:公式法

1、我们以生成1-10范围内的随机数字为例,讲述方法。

首先,在A2单元格中输入公式:=SMALL(IF(COUNTIF($A$1:A1,ROW($1:$11))=0,ROW($1:$11)),INT(RAND()*(11-ROW(A1))+1))

然后按下Ctrl+Shift+Enter三键结束数组公式。

2、然后,下拉填充公式到A12单元格,也就是填充11个单元格,为什么要填充11个呢,我们明明只要10个数字?这是因为,最后一个数字是不会变化的,所以呢,要生成10个随机数,需要填充11个单元格,同样的生成11个随机数的话,要填充12个单元格,除此之外,公式中的11还要改成12。

3、生成随机数后,每按下一次F9(或者其他单元格进行一次计算),随机数就会刷新一次,重新生成一组随机数,要注意喽!

4、好了,一组不重复的随机数字生成了,现在我们回头看看这个公式是怎么实现的吧。首先看Small函数的第一个参数,也就是数字区域,这里是利用if和Countif函数来实现此单元格上面的单元格区域,是否有当前单元格的数字,如果有,就返回False,而如果没有就返回这个数字,从而生成一组由上面单元格没有的数字和Flase组成的序列,下图是按F9得到的结果:

5、Small函数的第二个参数,也就是从这个序列中取第几个最小值,在得到的数字中,利用随机函数rand和row函数,实现在这有个个数中随机抽取一个数字,从而得到排序中这个数字顺序的一个数字。通过这样一个数组公式,就实现了生成一组不重复的随机数字啦。

方法二:VBA法

1、VBA功能强大,可以利用很多算法实现随机数。这里介绍一种简单的办法。首先在Excel中按下Alt+F11,打开VBE界面,双击要生成随机数的工作表,在右侧空白处需要输入代码。

输入代码如下:

Sub m()

Range("A:A").ClearContents'这里是A列,根据需要修改

For i = 1 To 10'这里是10个数字,根据需要修改

kkk:

Randomize

x = Int(Rnd * 10) + 1

If Application.CountIf(Range("A:A"), x) = 0 Then

Cells(i, 1) = x

Else

GoTo kkk

End If

Next i

End Sub

2、代码原理很简单,就是随机生成数字,如果A列中有了这个数字,就返回再次随机生成,一直到没有这个数字为止;利用循环生成制定数量的数字。

3、按下F5执行代码,就看到在对应的Sheet中的对应列,生成了一组随机的不重复的数字。

excel中如何实现多个随机数之间相互不重复

先在选项中打开“启用迭代循环”,并把最大迭代次数设置到1000或更大。然后选择A1:10单元格,输入:

=IF(OR(N(ISNUMBER(A1)),COUNTIF($A$1:$A$10,A1)>1),RANDBETWEEN(1,100))

按Ctrl+Enter。

Excel如何随机不重复引用指定范围内的数值

1、在自己的电脑上打开EXCEL表格

2、首先创立了所需的数据表格,输入自己的数据

3、将电脑下方EXCEL的sheet修改名字

4、将第一个表格中的数据建立在如图所示的sheet里,如第一周,第二周,第三周

5、建立好几个表格,举例对这个问题进行辅助说明,内容大概如下。

6、在一个sheet5中表格里,选择要进行统计的单元格输入“=”和函数,如此处则是=sum

7、然后点击“第一周”,工作标签和相应单元格。

8、选中第一周中的数据,如图所示

9、输入“,”后再点击“第二周”工作表和相应单元格。

10、对数据进行函数公式。对“第三周”,“第四周”工作表进行相同操作。

11、输入完成后加上")"点击回车即可算出4个周的总计结果,可以向下拉动这个汇总表在单元格中做相对引用,完成所有单元格的计算。

excel中,随机数不重复的问题

首先,将你的所有单元格区域定义一个名称。如:_1

然后,在函数或公式中引用它。

如你所说,先将M14~M27,M41~M58,......等等,定义为一个名称,这个名称可以是任意的(除数字),如:_1

 

 

 

 

 

然后将你的式子中的M$14:M$27改为名称引用"_1",结果如下:

=IF(COUNTIF(_1,M14)=1,M14,CHOOSE(RANDBETWEEN(1,3),"A","B",1)&RANDBETWEEN(1,18)&"﹟")

有关名称的定义,应该不需要我多说吧。