2、也可以输入以下数组公式,按Ctrl+Shift+Enter组合键,然后向下填充公式=INDEX(A:A,SMALL(IF(MATCH(A$1:A$8,A$1:A$8,0)=ROW($1:$8),ROW($1:$8),4^8),ROW(A1)))&。
如图,提取A列只出现一次和对应的B列的数据:
D1用公式:
=IFERROR(INDEX(A$1:A$8,SMALL(IF(COUNTIF($A$1:$A$8,$A$1:$A$8)=1,ROW($1:$8),9^9),ROW(A1)))&"","")
数组公式,按组合健CTRL+SHIFT+回车,完成公式,向右拉D1填充柄到E1复制填充公式,然后选中D1和E1,下拉拉填充柄向下填充复制公式;
1、公式中COUNTIF($A$1:$A$8,$A$1:$A$8)=1,判断A1到A8只出现一次的数据,得到一个由TRUE和FALSE组成的8元素数组;
2、用IF函数判断符合条件的为ROW($1:$8),否则为9^9(就是9的9次方,一个较大的数,需要大于$A$1:$A$8单元格个数),得到一个符合条件的行号,不符条件的为9^9组成的数组;
3、用SMALL函数从最小向大的方向,得到符合条件的行号;
4、用INDEX得到符合条件的单元格中数据;
5、最后用IFERROR函数排除错误,错误时显示为空。
方法/步骤\x0d\x0a\x0d\x0a如果数据在Sheet2 的A:D列,在Sheet2的A列前插入两列辅助列;\x0d\x0a在左上角的名称框中,输入A2:A953,按Enter键,将A2:A953单元格选中,输入=RAND(),按Ctrl+Enter组合键结束,快速向A2:A953单元格中输入随机数(随机数的重复机率极低);\x0d\x0a\x0d\x0a在B2单元格输入以下公式,然后向下填充公式,得到A列数据的排名(同样没有重复排名)\x0d\x0a=RANK(A2,A:A)\x0d\x0a\x0d\x0a在Sheet1的A2单元格输入以下公式,然后向右向下填充公式到D361单元格,得到由Sheet2工作表中随机取得的不重复的360行数据\x0d\x0a=VLOOKUP(ROW()-1,Sheet2!$B:$F,COLUMN(B1),0)\x0d\x0a公式表示:以当前行号在Sheet2的B列精确匹配对应行,并返回对应第2列(Sheet2的C列)数据。\x0d\x0a\x0d\x0a因随机取数时,工作表只要输入一个数据,就会在“自动计算”中 重新得到一组数据,因此,可以将Sheet2的A列,“复制”并“选择性粘贴”为“数值”,避免数据不断变换。或者将“公式”选项中的“计算选项”设置为“手动”。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)