excel怎么筛选行???急急急~ 有15000行数据 我想隔5行随机筛出一行,在新表中生成 谢谢了

如题所述

excel怎么筛选行???急急急~
有15000行数据
我想隔5行随机筛出一行,在新表中生成
谢谢了
预备内容:2003版以上的Excel中,直接在单元格输入=RAND(),得到大于等于0,小于1的随机数.
解一:
如果原数据表中有一个空列可以利用,例如为IV列,可以在空列中使用公式(1),在每五个行中任取一个且只取一个行,将其标志设为1,另四个设为0.然后再调用自动筛选或列表,从中选取标志为1的行。随时刷新,随时得到一个变化的表格。由于利用了筛选,不被挑选的行将被隐藏,显示的行即构成所需的表格。也可以选中它们,复制到新表而滤去隐藏的行。也可以利用菜单快键alt_shift_E,在新表中,将选中的表格选择性贴入为链接或图形链接。
公式(1)的原理是,第一行随机为0,1之一;自第二行始,若前若干行和为0,{再若本行为最末行,则取值1,否则随机取0或1};否则为0.
公式为
=if(mod(row(),5)=1,
int(2*rand()),if(sum(indirect("IV"&row()-mod(row(),5)+1&":"&"IV"&row()-mod(row(),5)+row())=0),if(mod(row(),5)=4,1,int(2*rand()),0)
解二:
先解决一个极限情况。假设原数据表为sheet1,其中每一列都有数据,并且供作筛选的行为所有的行。
(第一步)我们先生成用来筛选的行的行号。
在一个新的工作表中,例如sheet2!使用一个空列例如A列,输入下面的公式:
=5*ROW()-4+INT(5*RAND())
然后选中此公式所在单元格和下方的若干空单元格,按ctrl-D复制公式。
注:得到每五个数选取一个的数表。其中5*ROW()-4生成等差数列1,6,11,…,INT(5*RAND())生成随机整数0,1,2,3,4之一。
(第二步)
引用这列数据作为行号,在新的表格例如sheet3中生成以它为行号的原数据表sheet1中的行。
在sheet3!A1中输入:=index(sheet1!A:IV,sheet2A$1,column()).
然后选中整行,按ctrl-R向下复制公式;再选中若干行,按ctrl-D向右复制公式。
如果原数据表只有一列,可以在同表内另一列直接用公式
=index(原数据区的引用,
5*ROW()-4+INT(5*RAND())
解二注:
如果原数据表中有一个空列可以利用,可以使用此列,而不必使用新的工作表来建立供作筛选的行号数列。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-29
设数据在A1:F15000
则请在G1输入:=5*RAND()
在H1输入:=RANK(G1,(OFFSET(INDIRECT("G"&ROUNDUP(ROW()/5,0)*5-4),0,0,5,1)))
然后选择G1:H1单元格,双击下角的十字填充下拉复制;
选择G:H列,复制后选择性粘贴数值回G:H列;
对H列进行筛选,可对1-5任意选择一个数进行筛选复制到新即可。
第2个回答  2020-01-31
步骤如下:
右键点b列,插入,在新的b1里输入
=rand()
公式复制下去(双击b1右下角的”+“即可)
选中a到k列,点菜单的数据,排序,以b列排升序;
右键点b了,删除;
选中第1到第5行,右键,剪切,到新的工作表,回车粘贴。完成。
相似回答