假设需要Sheet1中的D列姓名按A列姓名排列,并同时E、F列数据也自动关联D列姓名排列;
1、建立一个辅助工作表,在A2输入公式:=Sheet1!A2 回车;
见图一
2、选中A2横拉填充至C2单元格;
见图二
3、选中A2:C2单元格范围下拉填充表格内的A、B、C列;
见图三
4、在D2单元格输入公式:=IFERROR(VLOOKUP($A2,Sheet1!$D:$F,COLUMN(A1),0),"") 回车;
见图四
5、选中D2横拉填充至F2单元格;
见图五
3、选中D2:F2单元格范围下拉填充表格内的D、E、F列;实际结果:
见图六
说明:这种方式简单易行,速度快,如需要最终数据排列在Sheet1上实现时,只需要简单的复制Sheet2的D、E、F列,粘贴值至Sheet1的D、E、F列即可:
假如你的原数据为
姓名 分数 姓名 分数
张三 10 王五 20
李四 11 周六 18
郑七 20 张三 19
王五 12
周六 13 李四 17
范围是A1:D6
引用新表为A8:D13
则C9=IF(ISNA(VLOOKUP(D9,IF({0,1},$C$2:$C$6,$D$2:$D$6),2,0)),"",VLOOKUP(D9,IF({0,1},$C$2:$C$6,$D$2:$D$6),2,0))
D9=IF(ISNA(VLOOKUP(A2,$C$2:$D$6,2,0)),"",VLOOKUP(A2,$C$2:$D$6,2,0))
往下拉就可以了~
不明白可以在线hi~
E2输入公式=IF(COUNTIF($C:$C,$A2)=0,"",INDEX($C:$D,MATCH($A2,$C:$C,),COLUMN(A2))),右拉至F2,同时下拉至A列数据末尾,最后复制E、F列,选择性粘贴-数值,即可删除C、D列。
E2输入公式:
=if(iserror(vlookup(A2,B:C,2,)),"",vlookup(A2,B:C,2,))
E2公式向下复制
我是来搜方法的,看了一堆弯弯绕绕的公式,忽然灵机一现。自定义排序它不香吗。复制第一列加英文逗号,到文本文档。
文本文档粘贴到排序-自定义排序-新建排序那里。
选中第二列与第二列对应的值,按自定义排序就好了。
如果数据过多还是用公式好一点