EXCEL 随机抽出不重复的数据
1、如果数据在Sheet2 的A:D列,在Sheet2的A列前插入两列辅助列;
2、在左上角的名称框中,输入A2:A953,按Enter键,将A2:A953单元格选中,输入=RAND(),按Ctrl+Enter组合键结束,快速向A2:A953单元格中输入随机数(随机数的重复机率极低);
3、在B2单元格输入以下公式,然后向下填充公式,得到A列数据的排名(同样没有重复排名)
=RANK(A2,A:A)
4、在Sheet1的A2单元格输入以下公式,然后向右向下填充公式到D361单元格,得到由Sheet2工作表中随机取得的不重复的360行数据
=VLOOKUP(ROW()-1,Sheet2!$B:$F,COLUMN(B1),0)
公式表示:以当前行号在Sheet2的B列精确匹配对应行,并返回对应第2列(Sheet2的C列)数据。
5、因随机取数时,工作表只要输入一个数据,就会在“自动计算”中 重新得到一组数据,因此,可以将Sheet2的A列,“复制”并“选择性粘贴”为“数值”,避免数据不断变换。或者将“公式”选项中的“计算选项”设置为“手动”。
6、注意:通过RANDBETWEEN函数得到随机函数的方法,会出现重复数据,从而达不到既随机又唯一取数的目的,没有RAND得到一列不重复的随机数再排名来得科学有效。
B2输入公式
=INDEX(A:A,SMALL(IF(COUNTIF(B$1:B1,A$1:A$100),101,ROW($1:$100)),ROUNDUP(RAND()*(102-ROW()),)))
公式以ctrl+shift+enter三键组合结束输入
然后公式下拉即可
公式为:=INDEX(A:A,INT(RAND()*100),1)
注:本处未考虑不重复的现象,你可在生成的随机数上判断一下,避免重复数。
三个单元格复制公式即可
广告 您可能关注的内容 |