用公式生成不重复的随机数字

在某些场合我们需要生成一组不重复的随机数字,提到随机,我们肯定能想到

RANDBETWEEN函数,当然这个函数是可以生成一定范围的随机数,但是我们运行一下会发现生成的数字有重复的,那么如何用公式生成不重复的随机数字呢?现在假如我们想要生成1-6之间的随机数,可以在A2单元格中输入如下公式:

=SMALL(IF(COUNTIF(A$1:A1,ROW($1:$6)),"",ROW($1:$6)),RANDBETWEEN(1,6-COUNT(A$1:A1)))

由于有数组,所以要三键(Ctrl+Shift+Enter)完成输入,得到如下结果:

请仔细注意上面公式的参数噢,由于这里只设置了1-6之间的随机数字,那么最多可以把公式下拉到A7单元格才能保证不出错,结果如下:

在实际情况下,请自行根据自己的需要设置随机数字的区间范围,然后在公示里修改一下就行啦~例如想要生成1-14之间的随机数,则A2单元格中的公式修改如下:

=SMALL(IF(COUNTIF(A$1:A1,ROW($1:$14)),"",ROW($1:$14)),RANDBETWEEN(1,14-COUNT(A$1:A1)))

当然这是建立在你完全理解这个公式的基础上,这里小编只说下大概的原理:

1、IF(COUNTIF(A$1:A1,ROW($1:$14)),"",ROW($1:$14)):这句是把已经出现的数字排除掉,留下还未出现的数字以供后续选择。

2、RANDBETWEEN(1,14-COUNT(A$1:A1)):这句是生成一个随机数字,这个随机数字最大为总“共要生成的随机数个数-已经生成的随机数个数”。

3、SMALL:SMALL函数是用来在IF函数保留后的随机数中选择一个最小的随机数,之所以用SMALL函数,纯粹是为了在保留的随机数里面选择一个数而已,你也可以换成MAX函数,事实上只要你能在IF函数保留后的随机数中选择一个随机数的话,你也可以用其他的函数来完成,主要是你要理解原理噢。

有人说了,现在假如说想要生成[6,9]之间的数字怎么办呢?我们根据公式的运行机制其实可以很快地更改一下参数就行,在A2单元格中输入如下公式即可:

=SMALL(IF(COUNTIF(A$1:A1,ROW($6:$9)),"",ROW($6:$9)),RANDBETWEEN(1,4-COUNT(A$1:A1)))

是不是很神奇呢,慢慢消化一下吧!

快捷查看
(0)

相关推荐

  • Excel随机数产生函数Rand与RandBetween的用法,含生成固定的、不重复的或指定范围的随机数

    在 Excel 中,生成随机数可以用Rand函数或RandBetween函数,其中前者用于生成 0 到 1 的小数随机数,后者用于生成指定范围的整数随机数.Rand函数也可以生成指定范围的随机数,但要 ...

  • 随机函数用处大,随机安排考生座位

    下图左表是12名考生,现将其随机安排在6行2列的考试座位中,结果如右表所示.如果让你来做,你会怎么做? 1.一步到位,多单元格数组公式 选中D3:E8,输入下面的公式,按ctrl+shift+ente ...

  • 【Excel】随机数:生成不重复随机整数的技巧

    Word技巧达人推荐搜索 Word课程 Word表格 段落 邮件合并 样式 图表 今天来讨论一下随机数: 在 Excel 中生成随机数的函数不少,例如:Rand.Randbetween--.. Ran ...

  • 利用VBA实现数据的随机排序

    今日的内容是"VBA之EXCEL应用"的第七章"循环在VBA中的利用".这讲是第四节"利用VBA实现数据的随机排序".这套教程从简单的录制宏 ...

  • 批量输入随机数和随机字母

    明天就是国庆长假了,小编祝各位亲们国庆节快乐,中秋节和家人大团圆. 今日分享如下: 工作中有时候需要在单元格区域随机输入数字或字母,如果一个个手工输入,效率很低.怎样批量输入随机数呢?请看下文. 一. ...

  • 随机将数字打散分配到指定个数的单元格中,速速收藏!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 今天和大家来做一道数学题. 如下图所示,我们要把A列中的数字按照B列中指定的单元格数,随机分配到这些单元格中.例 ...

  • Excel:上班30天,考勤5分钟?

    最近收到求助,知道考勤天数,如果随机分配到本月中,这个问题,本来小编是不愿意回答的,大家都懂的.但是对小编而言,这个问题中有知识呀!这个我们要分享给大家! 虽然不推荐这种造假和临时抱佛脚,但是知识应用 ...

  • VLOOKUP提取不重复值,很难吗?巧用辅助列秒解!

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.工作中有时需要提取不重复值,对于初学函数的小伙伴来说,复杂的数组公式难以理解.我们可以用辅助列的方法,通过vlookup函数实现提取不重复值的效果 ...

  • 2020年会必备,Excel轻松制作抽奖小游戏

    不知不觉就到了年底,新的一年即将从明天开始.时光流逝,不禁让人感慨万千. 当然在这个时间大家应都在期待着年终奖.年会吧.今天我想和大家分享一个Excel制作的抽奖小游戏,可以一次抽一人也可以一次抽多人 ...

  • excel生成6位随机数字

    我们还是使用RANDBETWEEN()函数来设置怎么生成6位随机数字,利用它的特性,即生成指定区域内的整数随机数.那么6位数最小的数字是100000,6位数最大的数字是999999,那么这个函数就可以 ...

  • 别再用公式提取不重复了,这3个方法推荐给你。。。

    与 30万 读者一起学Excel VIP学员要用公式提取不重复公司名称. 用公式是相当麻烦的. =OFFSET($A$1,MATCH(0,COUNTIF(H$1:H1,$A$2:$A$19),0),0 ...

  • text+rept生成格式重复的字符串(糖葫芦不要钱)

    text+rept生成格式重复的字符串(糖葫芦不要钱)

  • 别再用公式生成目录了,这2个方法推荐给你。。。

    与 30万 读者一起学Excel 用公式虽然也可以生成目录,不过总觉得用起来不太顺手.今天,卢子推荐2个方法给你. 1.智能工具箱 这是WPS特有的功能,表格合并拆分,数据对比等等好用的功能都是一键生 ...

  • 随机数字法在监督工作中的应用

    国家对纪检监察工作实行"三转"后,纪检监察人员不再参与现场监督工作.为此,我院设立采购监督委员会对基建.设备采购等领域进行监督.工作实践中,监督人员对其采购重点环节进行现场监督,确 ...

  • Excel 公式:从文本中提取数字

    首先看一下实例图片,在一串文本中,数字有可能在文本的开始处.结尾处或中间. 现在针对这三种情况,给出三种提取数字公式. 数字在文本开始处 这种情况提取数字相对简单些,以下是通用公式: =-LOOKUP ...

  • 【记忆秘诀】如何做到3分钟内快速牢记60个随机数字……

    [效果] 学生看完此篇文章,跟着老师教学做到3分钟之内快速牢记60个随即数字,达到正倒背如流!并且,还可以学到英文短语.句子.文章速记技巧:英文学习技巧,做到清晰规划英文学习,掌控外语! [适用对象] ...

  • 快速记忆初级课程第一课六速记随机数字

    @速读速记提醒大家,小学只有3门学科,初一直接变成7门,初二8门,初三9门,私立学校初一就8门学科,初二九门,高中直接9门,每一个级别都是巨大的效率升级挑战. 如果小学就学习到10点,11点,显然学习 ...