乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL 随机抽出不重复的数据-excel不重复随机抽取,excel 随机抽取

EXCEL 随机抽出不重复的数据-excel不重复随机抽取,excel 随机抽取

作者:乔山办公网日期:

返回目录:excel表格制作


E1输入zd=rand()
填充到E5
C1输入=INDEX($A$1:$A$5,MATCH(SMALL($E$1:$E$5,ROW()),$E$1:$E$5,0))
D1输入=INDEX($B$1:$B$5,MATCH(SMALL($E$1:$E$5,ROW()),$E$1:$E$5,0))
分别填充到C5和D5
F9按一次就随机抽取一次

1、如果数据在Sheet2 的A:D列,在Sheet2的A列前插入两e799bee5baa6e79fa5e98193e58685e5aeb9332列辅助列;

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得到一列不重复的随机数再排名来得科学有效。


=RAND()

由于rand()产生的是0-1之间的15位小数的随机数,如果换成整数,也就是相当于0-99999亿,如果随机数比这少得多,比如随机取10000个数,几乎不可能出现重复值。

但由于Rand产生的是小数,重复的可能是几乎没有,但如何产生不重复的整数,或者指定范围的不重复的整数呢

1、产生不重复整数,如:将全校同年级1000人随机安排考试座位。

操作方法:

(1)在这1000人姓名后面找一列空白列,作为辅助列,假设为B列,输入=rand()

(2)再在后面一列(C列)输入=rank(B2,B$2:B$1001)下拉填充公式

(3)C列得出的就是每个学生随机分到的座位号,且不重复。

2、产生指定范围不重复随机整数,如:产生100——1099之间的随机不重复整数

操作方法同上,只是将C列公式修改为:=Rank(B2,b$2:b$1001)+100



不是很明白题主的要求,主要是对什么情况不能再没理解透。是不是任意行任意列都只能取一次,就是5个数必须5列中各取一个,且均不同行?

如果是,仍然有一个如何确定是达到了目的的问题,因为所给的数据存在大量重复数据,即使取自不同的行和列,单看结果,也无法确定是否是按要求的取的数。所以下面的解答中,先在G1:K1中用公式确定从哪些单元格取数(公式的结果用R1C1引用方式,即R后的数字表示第几行,C后面的数字表示第几列)

  1. 因为随机取数,要达到上面的目的,就要取数确定,不再变化。所以要先在选项的公式选项卡中勾选“启用迭代计算”后确定,且因为循环计算次数较多,要把循环次数设置得大一些,如10000。主要是因为正好5列,每列都要取到且不重复,导致随机循环计算量大。

  2. 确定取数的单元格位置:

G1=IF(OR(G1={"",0}),ADDRESS(RANDBETWEEN(1,13),RANDBETWEEN(1,5),1,0),G1)

H1=IF(OR((H1={"",0}),RIGHT(H1)=RIGHT($G1:G1),LEFT(H1,3)=LEFT($G1:G1,3)),ADDRESS(RANDBETWEEN(1,13),RANDBETWEEN(1,5),1,0),H1)

同时按Ctrl+Shift+Enter三键输入数组公式,右拉e799bee5baa6e79fa5e98193e4b893e5b19e339到K1

观察是否还有重复的行号或列顺序号,如有,按F9,直到没有重复后再按F9也不会发生变化。这样就在G1:K1中确定要引用数据的单元格位置。且这些位置既是随机确定的,又保证没有重复的行和列。

3. 在G2:K2中从A1:E13中引用G1:K1确定的引用位置的数据:

G2=INDIRECT(G1,)

右拉到K2

图中数据是复制的题主提问中的数据。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网