vba随机抽取人名不重复_excel如何实现随机抽取且不重复
展开全部
方法一:公式法
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如何实现随机抽取且不重复相关推荐
- vba随机抽取人名不重复_VBA编程实现不重复随机数输出
作者:iamlasong VBA编程实现不重复随机数输出.VBA里的随机函数是RND,在工作表中随机函数是RAND,一字之差,可要记好了.RND取值范围是[0,1),意思是0和1之间的一个随机数,包含 ...
- python随机抽取人名_python的random
python的random函数 更多的random用法可参阅: random --- 生成伪随机数 - Python 3.7.4 文档docs.python.org 以下使用了: 洗牌:random ...
- php 数组 随机选择_php中通过数组进行高效随机抽取指定条记录的算法
php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下ar ...
- java - 随机生成人名/指定位数字符串/手机号 --工具方法
我是一个B话不多的人 1.随机生成人名/指定位数字符串 package ls.example.test.util;import java.io.*; import java.util.Random; ...
- java随机生成人名
#java随机生成人名 /*** author:creator* date:2018/4/10*/package 随机生成人名;import java.io.BufferedReader; impor ...
- 【excel】根据单元格公式随机生成人名、及按概率生成不同值的测试数据
目录 excel根据行号轮流选取不同的填充值 按概率选取填充值 随机生成18位数字(伪身份证号) 生成2到3字的随机人名 注意,在excel中应用公式时,单元格格式应设为常规. excel根据行号轮流 ...
- 中奖号码由6个红球号码和1个蓝球号码组成。其中红球号码要求随机生成6个1~33之间不重复的随机号码。其中蓝球号码要求随机生成1个1~16之间的随机号码。
实现双色球抽奖游戏中奖号码的生成,中奖号码由6个红球号码和1个蓝球号码组成. 其中红球号码要求随机生成6个1-33之间不重复的随机号码. 其中蓝球号码要求随机生成1个1-16之间的随机号码. impo ...
- 设计一套随机生成四位密码的程序,范围0~~9,不能出现重复的情况
//设计一套随机生成四位密码的程序,范围0~~9,不能出现重复的情况 function num( ){var arr= [];while(true){var isflag=true;var num1 ...
- python 随机森林调参_Python机器学习实践:随机森林算法训练及调参-附代码
原标题:Python机器学习实践:随机森林算法训练及调参-附代码 文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 博客园 作者 | 战争热诚 ...
- java在集合随机抽选_如何高效的提取随机数据
对于程序员来说,"随机"一词再熟悉不过了.一听到"随机",我们脑海中便会出现一个单词"random",和一系列的算法实现.而这,已经成为了程 ...
最新文章
- linux java amr转mp3_本工具用于将微信语音 amr 格式转换为 mp3 格式以便在 html5 的 audio 标签中进行播放...
- java xml二进制流传输_XML中二进制数据的处理方法
- z blog php版本怎么样,Z-BlogPHP版本可能用到的SQL语句整理
- linux上设置jar包加载顺序,SpringBoot配置加载顺序
- 汽车电子研究报告:下一个苹果产业链
- 设计院中心所工作流程 CAD广播电视工程工艺绘图
- 跨境电商独立站,如何找到更多联盟流量资源
- 下载频道2013上半年超人气精华资源汇总---全都是免积分下载。
- python解决八数码问题_python解决八数码问题
- 洛谷P4568 飞行路线
- c语言中TR1=1什么意思,c – 如何在Visual Studio 2010(tr1 :: function)中使用tr1?
- DHCP 解决单位网络私接路由器的办法
- Nodulus玩法介绍
- fft 估计载波频率程序_fft频率估计
- python中的继承的初始化_python中子类继承父类的__init__方法实例
- 【网络协议】TCP和HTTP中keep alive机制
- 配置汇编环境(王爽)
- 前端工作越来越难找,是不是已经饱和了?
- 科学计算机怎么玩游戏,游戏做生命科学研究:玩家强过超级计算机
- 程序员小技巧------win7和win10通过局域网打印连接的方法
热门文章
- 2021年PMP考试模拟题11(含答案解析)
- wsdl文件 服务器地址,webservice 的wsdl文件详解
- 前端技术规划与战略:2022
- python爬取歌词_python爬虫抓取某易云音乐歌词,从此不在下载
- Java猜数字小游戏
- 移动边缘计算中的资源管理
- Spring Boot pom文件详解
- python+word+excel+ppt自动化办公教程_Python自动化办公之Word,全网最全看这一篇就够了...
- 建模算法(十)——灰色理论之关联度分析
- 9.5.3 Android Apk 反编译 9.5.4 Android Apk 加密