EXCEL如何将两列中相同的行筛选出来并排序

例如有 A B C D 四列,A,B两列都是姓名,且A,B两列数据不完全相同,可能A有B没有,也可能B有A没有,现要将A,B中相同的并列一行,不同的列在最下面

根据你的要求,用到筛选和排序,就用不着复杂公式了。
第一步:筛选出相同值
在侧D列写入公式“=VLOOKUP(A1,B:C,2,0)”,填充到底,会出现“0”或“#N/A”,出现“0”代表就是在B列检索到了A列的值了,打上筛选,选出“0”的值,复制粘贴到Sheet2任意位置,取消筛选状态,删除D列,把Sheet2的值粘贴到D列,E列旁边编写1,2,3,4,5,。。。备用
第二步:排序
在AB列间插入一列(即B列变为C列了),在新B列间写入公式“=VLOOKUP(A1,E:F,2,0)”,填充到底,就会引上排列数字,不重复的出现“#N/A”,选中AB列排序。
同理在D列写入公式“=VLOOKUP(C1,E:F,2,0)”,填充到底,就会引上排列数字,不重复的出现“#N/A”,选中CD列排序即可。
第三步:整理
删除B列和DEF列即可,相同部份都在上边,不同的在下边。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-06
2工作表A1单元格输入公式:
=IF(ROW()>SUM(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3),1)),IF(ROW()>COUNTA(Sheet1!A:A),"",INDEX(Sheet1!A:A,SMALL(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3),65536,ROW($1:$3)),ROW()-SUM(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3),1))))),INDEX(Sheet1!A:A,SMALL(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3),ROW($1:$3),65536),ROW())))
公式以CTRL+SHIFT+回车结束。
将公式向下复制。
在SHEET2工作表B1单元格输入公式:
=IF(A1="","",VLOOKUP(A1,Sheet1!A:B,2,))
将公式向下复制。
在SHEET2工作表C1单元格输入公式:
=IF(ROW()>SUM(IF(COUNTIF(Sheet1!C:C,Sheet1!$A$1:$A$3),1)),IF(ROW()>COUNTA(Sheet1!C:C),"",INDEX(Sheet1!C:C,SMALL(IF(COUNTIF(Sheet1!A:A,Sheet1!$C$1:$C$3),65536,ROW($1:$3)),ROW()-SUM(IF(COUNTIF(Sheet1!A:A,Sheet1!$C$1:$C$3),1))))),A1)
公式以CTRL+SHIFT+回车结束。
将公式向下复制。
在SHEET2工作表D1单元格输入公式:
=IF(C1="","",VLOOKUP(C1,Sheet1!C:D,2,))
将公式向下复制。
相似回答