展开全部

方法一:公式法

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

首先,在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中的对应列,生成了一组随机的不重复的数字。

vba随机抽取人名不重复_excel如何实现随机抽取且不重复相关推荐

  1. vba随机抽取人名不重复_VBA编程实现不重复随机数输出

    作者:iamlasong VBA编程实现不重复随机数输出.VBA里的随机函数是RND,在工作表中随机函数是RAND,一字之差,可要记好了.RND取值范围是[0,1),意思是0和1之间的一个随机数,包含 ...

  2. python随机抽取人名_python的random

    python的random函数 更多的random用法可参阅: random --- 生成伪随机数 - Python 3.7.4 文档​docs.python.org 以下使用了: 洗牌:random ...

  3. php 数组 随机选择_php中通过数组进行高效随机抽取指定条记录的算法

    php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下ar ...

  4. java - 随机生成人名/指定位数字符串/手机号 --工具方法

    我是一个B话不多的人 1.随机生成人名/指定位数字符串 package ls.example.test.util;import java.io.*; import java.util.Random; ...

  5. java随机生成人名

    #java随机生成人名 /*** author:creator* date:2018/4/10*/package 随机生成人名;import java.io.BufferedReader; impor ...

  6. 【excel】根据单元格公式随机生成人名、及按概率生成不同值的测试数据

    目录 excel根据行号轮流选取不同的填充值 按概率选取填充值 随机生成18位数字(伪身份证号) 生成2到3字的随机人名 注意,在excel中应用公式时,单元格格式应设为常规. excel根据行号轮流 ...

  7. 中奖号码由6个红球号码和1个蓝球号码组成。其中红球号码要求随机生成6个1~33之间不重复的随机号码。其中蓝球号码要求随机生成1个1~16之间的随机号码。

    实现双色球抽奖游戏中奖号码的生成,中奖号码由6个红球号码和1个蓝球号码组成. 其中红球号码要求随机生成6个1-33之间不重复的随机号码. 其中蓝球号码要求随机生成1个1-16之间的随机号码. impo ...

  8. 设计一套随机生成四位密码的程序,范围0~~9,不能出现重复的情况

    //设计一套随机生成四位密码的程序,范围0~~9,不能出现重复的情况 function num( ){var arr= [];while(true){var isflag=true;var num1 ...

  9. python 随机森林调参_Python机器学习实践:随机森林算法训练及调参-附代码

    原标题:Python机器学习实践:随机森林算法训练及调参-附代码 文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 博客园 作者 | 战争热诚 ...

  10. java在集合随机抽选_如何高效的提取随机数据

    对于程序员来说,"随机"一词再熟悉不过了.一听到"随机",我们脑海中便会出现一个单词"random",和一系列的算法实现.而这,已经成为了程 ...

最新文章

  1. linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...
  2. java xml二进制流传输_XML中二进制数据的处理方法
  3. z blog php版本怎么样,Z-BlogPHP版本可能用到的SQL语句整理
  4. linux上设置jar包加载顺序,SpringBoot配置加载顺序
  5. 汽车电子研究报告:下一个苹果产业链
  6. 设计院中心所工作流程 CAD广播电视工程工艺绘图
  7. 跨境电商独立站,如何找到更多联盟流量资源
  8. 下载频道2013上半年超人气精华资源汇总---全都是免积分下载。
  9. python解决八数码问题_python解决八数码问题
  10. 洛谷P4568 飞行路线
  11. c语言中TR1=1什么意思,c – 如何在Visual Studio 2010(tr1 :: function)中使用tr1?
  12. DHCP 解决单位网络私接路由器的办法
  13. Nodulus玩法介绍
  14. fft 估计载波频率程序_fft频率估计
  15. python中的继承的初始化_python中子类继承父类的__init__方法实例
  16. 【网络协议】TCP和HTTP中keep alive机制
  17. 配置汇编环境(王爽)
  18. 前端工作越来越难找,是不是已经饱和了?
  19. 科学计算机怎么玩游戏,游戏做生命科学研究:玩家强过超级计算机
  20. 程序员小技巧------win7和win10通过局域网打印连接的方法

热门文章

  1. 2021年PMP考试模拟题11(含答案解析)
  2. wsdl文件 服务器地址,webservice 的wsdl文件详解
  3. 前端技术规划与战略:2022
  4. python爬取歌词_python爬虫抓取某易云音乐歌词,从此不在下载
  5. Java猜数字小游戏
  6. 移动边缘计算中的资源管理
  7. Spring Boot pom文件详解
  8. python+word+excel+ppt自动化办公教程_Python自动化办公之Word,全网最全看这一篇就够了...
  9. 建模算法(十)——灰色理论之关联度分析
  10. 9.5.3 Android Apk 反编译 9.5.4 Android Apk 加密