加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 行业资讯

如何利用Excel函数做出随机不重复的数列

时间:2024-06-14 22:35:55  来源:  作者:

  在试验工作中,我们有时会需要随机取样,而且还要保证取样之中不会有重复的现象。我们可以通过Excel的功能得以实现,方法很多种,例如可以通过写VBA,或者函数公式。vdz检测VBA

  这里我介绍一种简单实用也非常常见的方法,一共就两个函数,RAND和RANK。RAND函数用来形成随机数列,再用RANK函数进行排序,原理比较简单,RAND函数会生成0-1之间的随机数,随机数数字最多是可以有15位小数点的,也就是说,你生成的这列随机数出现相同数字的概率基本为零,一定会有大小之分,再用RANK函数排序,假如你这个数列10个随机数,你就可以得到一个1-10之间随机变换不重复的数列。vdz检测VBA

  例如:我们在A1单元格输入=RAND(),下拉至A10单元格,在B1单元格输入=RANK(A1,$A$1:$A$10),下拉拖动公式。这里的$A$1:$A$10需要加上绝对引用符号,选中后按键盘上的F4键。这里也可以将RANK函数的第二个参数设成A:A,就是A列,RANK函数会忽略A列的空单元格,需要注意的是第二个参数设成A:A的时候,不要误操作在A列空白处输入内容,这样会导致公式出错。vdz检测VBA

  再介绍一下稍微复杂一点的应用vdz检测VBA

  1、随机数不是从1开始的,只需要在随机数公式前面再加一个数字。假设从20开始的,公式是=RANK(A1,$A$1:$A$10)+20vdz检测VBA

  2、再或者你为了好区分,需要在数字前面加字母,假设我前面需要加字母A,公式是这样的:="A"&RANK(A1,$A$1:$A$10)。&是连接符,就是你键盘上面数字的7上面的字符,输入的时候加按shift键就行了。vdz检测VBA

  3、还有一种情况,你所需要生成的随机数是不连续的,例如这样一列数字:1、3、5、6、10、11、12、15、16、20.虽然也是10个数,但是不连贯,我们之前生成的数字都是连贯的,前面的公式好像不好用了。其实有一个非常简单的办法就能搞定,跟前面一样,先生成随机数列,再排序,你数列的长度要和前面这些不连贯的数列一样长。然后在排序列后用INDEX函数.下图:vdz检测VBA

  公式是这样的,D1单元格输入:=INDEX($C$1:$C$10,B1)。下拉公式。公式的原理是这样的,排序函数第一个数值是10,INDEX函数就会返回原始数据数列中第10个数,同理第一个数值是6,INDEX函数就会返回原始数据数列中第6个数.这里的原始数据可以是文本等其他形式。vdz检测VBA

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
1620+套综合甲检测报告/原始记录空表
1620+套综合甲检测报
2022年最新内检送检指南 (检测项目类别--样品名称--检测项目参数--取样检测数量--完成期限)
2022年最新内检送检指
水利 空表 震动频率模拟报告
水利 空表 震动频率模
给报告批量添加签章、删除签章工具
给报告批量添加签章、
相关文章
    无相关信息
栏目更新
栏目热门