怎样从excel一列中不重复地随机提取数据

如题所述


如图,C2公式=INDEX(A:A,SMALL(IF(COUNTIF(C$1:C1,$A$1:$A$12)=0,ROW($1:$12)),RANDBETWEEN(1,13-ROW(A1)))),公式输完后按CTRL+SHIFT+ENTER结束公式,公式下拉,就会随机提取不重复的数据。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-07-25
方法/步骤

如果数据在Sheet2 的A:D列,在Sheet2的A列前插入两列辅助列;
在左上角的名称框中,输入A2:A953,按Enter键,将A2:A953单元格选中,输入=RAND(),按Ctrl+Enter组合键结束,快速向A2:A953单元格中输入随机数(随机数的重复机率极低);

在B2单元格输入以下公式,然后向下填充公式,得到A列数据的排名(同样没有重复排名)
=RANK(A2,A:A)

在Sheet1的A2单元格输入以下公式,然后向右向下填充公式到D361单元格,得到由Sheet2工作表中随机取得的不重复的360行数据
=VLOOKUP(ROW()-1,Sheet2!$B:$F,COLUMN(B1),0)
公式表示:以当前行号在Sheet2的B列精确匹配对应行,并返回对应第2列(Sheet2的C列)数据。

因随机取数时,工作表只要输入一个数据,就会在“自动计算”中 重新得到一组数据,因此,可以将Sheet2的A列,“复制”并“选择性粘贴”为“数值”,避免数据不断变换。或者将“公式”选项中的“计算选项”设置为“手动”。本回答被网友采纳
相似回答