excel中如何对比两列数据,并且将两列中不同的数据分别导出到另外一列,两列中行数不一样,急急急

如果能给出函数的话,希望能解释一下采用函数的功能
都是这类的,麻烦帮帮忙了

公式先对比把A列不同的数据列出到C列,完成后再紧接着把B列不同的数据列出到C列。

在C1输入数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  结束 再下拉即可。


=IF(COUNTA(A:A)-COUNT(0/(COUNTIF(B$1:B$100,A$1:A$100)))+1>ROW(A1),INDEX(A:A,SMALL(IF(COUNTIF(B$1:B$100,A$1:A$100),4^8,ROW($1:$100)),ROW(A1)))&"",INDEX(B:B,SMALL(IF(COUNTIF(A$1:A$100,B$1:B$100),4^8,ROW($1:$100)),ROW(A1)-(COUNTA(A:A)-COUNT(0/(COUNTIF(B$1:B$100,A$1:A$100))))))&"")


我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。



温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-23
假设你的数据分别是在Excel表中的A列和B列(中间不能有空白),运行以下宏,结果将显示在C列:

Sub GO()
i = 1
k = 1
Do While Cells(i, 1) <> ""
j = 1
flag = 0
Do While Cells(j, 2) <> ""
If Cells(i, 1) = Cells(j, 2) Then
flag = 1
Exit Do
End If
j = j + 1
Loop
If flag = 0 Then
Cells(k, 3) = Cells(i, 1)
k = k + 1
End If
i = i + 1
Loop

i = 1
Do While Cells(i, 2) <> ""
j = 1
flag = 0
Do While Cells(j, 1) <> ""
If Cells(i, 2) = Cells(j, 1) Then
flag = 1
Exit Do
End If
j = j + 1
Loop
If flag = 0 Then
Cells(k, 3) = Cells(i, 2)
k = k + 1
End If
i = i + 1
Loop

End Sub
第2个回答  2013-05-23
C列写这个公式=IF(ISERROR(VLOOKUP(A1,B:B,1,FALSE)),A1,"")
D列写这个公式=IF(ISERROR(VLOOKUP(B1,A:A,1,FALSE)),B1,"")
C列和D列列出来的就是不同的数据
第3个回答  2013-05-23

能上个样板不,或附个图片。保密的话,你可以改改数据,差不多就行。

 

是否是要找出

什么数,A有,B却没有,或是反过来。


得出的结果,复制,右键,选择性粘贴,选值,这样粘贴出来的就不是分式,只要数值。


2010版有个新功能,就是“删除重复”。

第4个回答  2013-05-23
利用VLOOKUP函数对抓。
相似回答