一、工具
笔记本电脑,office excel软件
二、方法(以要求1-50个数字随机不重复分布在50个单元格中为例)
1、在A1单元格输入“=IF(ROW()=1,INT(RAND()50+1),LARGE(IF(COUNTIF(INDIRECT("A1:A"&ROW()-1),ROW($1:$50)),,ROW($1:$50)),INT((51-ROW())RAND()+1)))”,不要直接回车或点前边的勾确认,而是要同时敲击CTRL+SHIFT+ENTER三键结束。
2、鼠标移到A1单元格右下角,光标变为黑十字,向下拖拽到A50即可。
1、选择L1:U20单元格,输入=RAND() 按Ctrl+Enter组合键结束,生成随机数;
2、选择W1:AF10单元格,输入以下公式,按Ctrl+Enter组合键结束,生成100个不重复的数据
=LARGE($A$1:$J$20,SUMPRODUCT(($L$1:$U$20>L1)1)+1)
我们生成多个随机的不重复数,可以实现通过随机生成的数字做分组用。
生成简单的随机数很简单,但是要生成不重复的随机数相对而言会比较麻烦。
这里从易到难介绍几种解决问题的方法。
*** 作方法
01
我们这里假定要
在B列生成20个随机且不重复的数据,然后根据随机计算的结果给A列的姓名进行排序及分组。
02
如果我们
单纯地以RANDBETWEEN函数来做(下图1),生成的数据会有重复数。
03
作者给出的对策如下:
1)在C列建立辅助列,然后输入:=RAND()
RAND函数的作用是
生成0到1之间的随机数字,因为是很多位数的小数,所以基本不会出现重复值(或者说概率低到可以忽略不计)。
辅助列相关知识请参考下方经验:
04
如果仍然担心会出现重复值,我们可以
再使用一个RAND函数与之相乘,进一步降低出现重复值的概率。
05
2)在B列使用RANK函数对C列的数据进行排序。
由于C列的数值没有重复,所以RANK函数排序后的结果也不会发生重复。
06
上面的办法是比较简单的办法,我们也可以参考下图函数公式 *** 作,但相对比较麻烦,有兴趣可以研究研究。
07
3)RAND函数和RANDBETWEEN函数都可以
通过按F9键进行数据更新。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)