我们假设分别有两个工作表sheet1和sheet2,然后我们需要在已给定有多行数据的sheet1工作表中随机抽取几行数据出来放到sheet2工作表中。
这里,我们假设工作表sheet1有500行,有A-E共5列,需要随机抽取出其中的300行出来。
我们直接在工作表sheet2中操作:
首先,在sheet2表中的A1中输入公式:=rand()
生成0-1的随机数,例如:
其次,向下填充至500行,以便下一步给sheet1中500行数据生成排名,例如:
……
接下来,B1输入公式:=rank(a1,$a$1:$a$500) ,给sheet1表中500行数据生成排名,并向下填充至300行,例如:
然后,在C1输入公式:=index(sheet1!a:a,$b1,1) ,可抽取出sheet2表中B1数据对应在sheet1表中
A列对应行位置中的数据,并向右填充至G列(因为这里C列对应sheet1表中的A列,填充至G列对应sheet1表中的E列),例如:
和我们在sheet1表中第223行数据对应一样:
最后,在sheet2表中框选中C-G列,向下填充至300行,C1-G300即为我们随机抽取出sheet1表中的300行数据,例如:
注意:每一次操作时,或者输入数据或者修改数据等等,随机数都会发生变化。