Excel中如何得到不重复的随机数

有时候,我们需要一组不重复的随机数,比如排座次、排值日等等,那么在Excel中是否可以生成不重复的随机数呢?答案是肯定的,这里介绍两种生成不重复随机数的方法。

方法一:公式法

  • 01

    我们以生成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三键结束数组公式。

  • 02

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

  • 03

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

  • 04

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

  • 05

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

方法二:VBA法

  • 01

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

  • 02

    输入代码如下: 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 代码原理很简单,就是随机生成数字,如果A列中有了这个数字,就返回再次随机生成,一直到没有这个数字为止;利用循环生成制定数量的数字。

  • 03

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

(0)

相关推荐

  • Excel中轻松查找删除重复数据(Excel 2007)

    由于重复输入或粘贴等原因,Excel 2007工作表往往存在重复的数据或记录。如果工作表的规模比较大,手工查找和删除重复数据很难做到“完全彻底”。不过这个问题对Excel 2007来说则是“小菜一碟” ...

  • 怎么在Excel中快速填充不连续重复表格内容?

    我们在日常工作中经常会使用到excel,有时候我们可能需要做一些统计表,如果我们要快速填充不连续重复表格内容应该如何操作呢?今天,小编就教大家在Excel中快速填充不连续重复表格内容.具体如下:1. ...

  • excel中怎样筛选出重复的数据?

    在工作中会经常遇到将重复的数据去掉,保留每行的数据都是唯一的数据.怎样在excel中怎样筛选出重复的数据?跟随下列教程,简单三步,你就学会去掉重复数据. 操作方法 01 选择单元格区域(按住鼠标左键拉 ...

  • excel中随机生成一个区间的随机数的方法

    excel中随机生成一个区间的随机数的方法,简单步骤如下: 操作方法 01 打开exce 02 输入=RANDBETWEEN函数 03 指定一个上限.一个下限,例如本次输入下限为1,上限为10. 04 ...

  • 在excel中怎么实现不重复计数?

    在excel中怎么实现不重复计数?在现在很多的时候都会出现在统计某个人出勤多少天这一天中.怎么样才能不重复的计数就成了我们需要做的工作,这里小编就为您讲述一下怎么实现不重复计数功能. 操作方法 01 ...

  • Excel中如何限制录入重复值

    我们在使用Excel制作表格时,有时候会因为粗心录入了相同的值,要是被上级发现了就会觉得你做事不够细心严谨.今天,小编就来教大家在Excel中如何限制录入重复值,让你的表格万无一失. 操作方法 01 ...

  • Excel中,如何寻找重复的数据并标记?

    在我们汇总Excel中的数据时,时不时会存在一些重复的数据,那么我们应该怎样寻找到这些重复的数据并标记出来呢? 操作方法 01 首先打开具有重复数据的文件,将具有重复的数据列选中,这里的"订 ...

  • Excel中如何提取不重复值

    Excel功能强大,是我们最常用的办公软件之一.在我们制作Excel表格的时候,常会利用到"筛选"这个功能.今天,小编就来教大家,在Excel中利用高级筛选提取出不重复值. 操作方 ...

  • 怎样在Excel中删除同列重复值所在的行

    大家知道,Excel 2007及以后的版本中有一个"删除重复项"的功能,可以快速删除区域中的重复项,十分方便.但对于多列数据,如果第一列包含重复数据,其对应行中的其他列数据不同,E ...