请问如何在EXCEL中实现出两列不同数据对比的输出

来源:百度知道 编辑:UC知道 时间:2024/06/02 05:52:18
有两列数据 如a列 123456789..... b列 13579 11 13......对这两列的数进行对比,然后在c列输出a列中与b列中不同的数,在d列中输出b列中与a列不同的数。
注:a 列和b列中都可能有重复的数据如a列出现2个1000,b列出现3个1000,这时候d列只需要输出1个1000即可,而c列无需输出1000。
首先谢谢dzg-530兄,但是兄的答案还差一点没有实现,就是如果出现重复的数字,那么就需要将重复的两两去除,就像我上面说明的,如果a出现2个1000,而b出现3个2000,那么d就输出1个1000即可,而dzg兄的答案的话只要出现重复的,那么就都不会输出。
其实我个人觉得算法应该是这样的,从a1选出一个数与b列进行对比,如果有相同的就删除a1和b列中相同的数,如果没有相同的数,则将a1输出到c列,这样将a列遍历之后得到c列。然后d列的方法一样,只不过是将b1--bx与a列的数进行遍历对比,不知道有没有人能够在excel中做到,谢谢!

C1单元格输入公式:

=IF(ROW(1:1)>(COUNTA($A$1:$A$10)-COUNT(0/(COUNTIF($B$1:$B$10,$A$1:$A$10)))),"",INDEX($A$1:$A$10,SMALL(IF(COUNTIF($B$1:$B$10,$A$1:$A$10),65536,ROW($A$1:$A$10)),ROW(1:1))))

按CTRL+SHIFT+ENTER ,确定,下拉公式,得出A列与B列中不同的数

D1单元格输入公式:

=IF(ROW(1:1)>(COUNTA($A$1:$A$10)-COUNT(0/(COUNTIF($A$1:$A$10,$B$1:$B$10)))),"",INDEX($B$1:$B$10,SMALL(IF(COUNTIF($A$1:$A$10,$B$1:$B$10),65536,ROW($A$1:$A$10)),ROW(1:1))))

按CTRL+SHIFT+ENTER ,确定,下拉公式,得出B列与A列中不同的数

补充:提取重复值用公式:

=INDEX(B:B,SMALL(IF(COUNTIF($A$1:$A$10,$B$1:$B$10),ROW($B$1:$B$10),65536),ROW(1:1)))&""

把这个公式复制到E1单元格 ,按CTRL+SHIFT+ENTER 确定 ,下拉公式 ,提取出重复值后,再选择性粘贴为数值,最后复制到D列中

没看懂,占位。