加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Excel对比两列数据,列出不重复数据

(2013-08-27 14:03:30)
分类: SEO

在数据处理中,通常有些数据需要我们对比筛选出不重复数据或重复的数据,下面从网上搜集来的方法将教你使用excel怎样分别对比两列数据。

本文非我原创,但我忘了出处。

  如何将EXCEL两列比较后不重复的数据复制到另一列上

  假如你要比较A列与B列数据是否重复,应该有三种结果(AB皆有,AB,BA),可在C列存放AB无的数据,D列存放BA无的数据,然后再将两列数据合并即可,方法如下

1、在C1单元格输入公式

=IF(COUNTIF($B:$B,A1)=0,A1,"") 

D1单元格输入公式: 

=IF(COUNTIF($A:$A,B1)=0,B1,"") 

将两个公式用填充柄向下复制到相应的行。 

2、按C列排序,将C列数据集中在一起,将其复制到另一工作表的A列;再按D列排序,将D列数据集中在一起,并将其复制到另一工作表的A列的尾部。(注意:这两个操作要用“选择性粘贴/数值”进行粘贴) 

3、删除原表的CD两列,将另一工作表中A列的数据复制回原表的C列。

 

  我给你一个最简单的方法吧。

  假设数据在Sheet1表的AB列,A列数据多,将B列数据剪切到另一个工作表Sheet2A上,注意两个表的标题一定要相同才行,比如两表的A1单元格教设置为”数据“。 

Sheet1执行”高级筛选“,列表区域就是表中A列数据,条件区域选择Sheet2表中A列的数据(注意,选择时一定要将标题也选上)。这样呢Sheet1中就会显示出两表中共有的数据。选中这些数据行(注意是行),选择删除。再选择数据菜单==筛选==全部显示,这样Sheet1表中只有Sheet1有,Sheet2没有的数据。同理,如果一开始对Sheet2表进行高级筛选,就会获得Sheet2中有而Sheet1没有的数据。

 

  很简单。 

  比如有A列和B列的数据需要找出不重复的,首先将B列的数据也剪贴都A列后边,然后在B列任意填写数字,比如全部是1,再根据A列对B列分类汇总。最后A列里带“汇总”的就都是不重复的。 

然后需要将A列里后边带“汇总”的数据挑出来即可。方法如下:将A列数据复制并选择性粘贴(只选择数据)到新的工作表中A列中,在B列输入公式,例如B2单元格输入:=if(right(A2,2)="汇总","A","B"),下拉。然后根据B列排序,所有带“汇总”的数据将排在最前边,删除后边的即可。

 

  Excel中两列比较的一个典型实例 先看一个表: ABCDE

            1去年名单 今年名单 在职老员工 离职老员工 新任员工

            2张一王一

            3张二张一

            4张三王三

            5张四李四

            6李一张三

            7李二李二

            8李三陈帅哥

            9李四张美女

            10田大娘杨大哥

            11吴学田大娘

            12吴学

  假如这个表是某公司去年和今年的员工名单,现在要求在职老员工名单,也就是在A列也在B列的员工,同样离职老员工是指在A列不在B列的员工,新任员工指在B列不在A列的员工。如果用A表示去年员工的集合,B表示今年员工的集合,则用数学语言表示是:

      在职老员工=AB      AB表示AB

      离职老员工=A  

      新任员工=B A

      Excel里,这里要用到两个函数,一个是if(),另一个是countif(),具体每个函数的使用方法这里不多说,请查看Excel帮助。这里countif()的作用是测试某一个元素(成员)是不是在某集合(列),如果其值大于0,在说明该元素属于某集合,否则不属于。if()的作用是根据countif()测试的结果来赋予某一单元格的值。具体公式如下:

      在单元格C2输入:=IF(COUNTIF(B$2:B$12,A2),A2,"")   

      说明:为了方便拖拉填充,需要把范围固定,即在数字前面加一个“$”符号,如:B$2:B$12B$2:B$12表示一个范围,相当于集合BCOUNTIF(B$2:B$12,A2)的意思就是在范围B$2:B$12里统计单元格A2的值出现的次数,这样语句IF(COUNTIF(B$2:B$12,A2),A2,"")就表示,如果统计次数大于0则单元格C2的值等于A2,否则就等于""(即空)。以下公式类似,不再赘述。

      在单元格D2输入:=IF(COUNTIF(B$2:B$12,A2),"",A2)

      在单元格E2输入:=IF(COUNTIF(A$2:A$11,B2),"",B2)

      注意,其中CD两列只要填充到11就行了,因为这两列都是拿A列的元素进行测试,而A列的元素只到A11。同理E列就要填充到12。另外还要注意范围的选取,不要搞错了。

      输完以上公式并且填充完,结果如下:

             ABCDE

            1去年名单今年名单在职老员工离职老员工新任员工

            2张一王一张一 王一

            3张二张一 张二 

            4张三王三张三 王三

            5张四李四 张四 

            6李一张三 李一 

            7李二李二李二  

            8李三陈帅哥 李三陈帅哥

            9李四张美女李四 张美女

            10田大娘杨大哥田大娘 杨大哥

            11吴学田大娘吴学  

            12 吴学   

      需要强调的是,为了一般化,这里选取了AB两列的名单个数是不一样的,排列顺序也不一样。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有