Dzwebs.Net

撰写电脑技术杂文十余年

比较Excel两列值的的集合实例

Admin | 2009-5-15 18:37:48 | 被阅次数 | 14138

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  如何比较Excel两列值的交集、并集和空集?

  请先看下图!

  如上图,现在,我们的意图是:

  ①同时出现在A列和B列中的数据,相同的有几个?(两者皆有)

  ②A列中出现的数据但是在B列却没有的数据有几个?(A有B不有)

  ③B列中出现的数据但是在A列却没有的数据有几个?(B有A不有)

  这相当于:

  两者皆有=AB(AB表示A交B)
  A有B不有=A - B 
  B有A不有=B - A

  在Excel里,要用到两个函数,一个是if(),另一个是countif(),关于这两个函数的使用方法,本文不再阐述,请阁下自行在本站查阅相应文章。

  countif()函数的作用是测试某一个元素(成员)是不是在某集合(列),如果其值大于0,在说明该元素属于某集合,否则不属于。if()的作用是根据countif()测试的结果来赋予某一单元格的值。具体公式如下:

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

  说明:为了方便拖拉填充,需要把范围固定,即在数字前面加一个“$”符号,如:B$2:B$6。B$2:B$6表示一个范围,相当于集合B。

  COUNTIF(B$2:B$6,A2)的意思就是在范围B$2:B$6里统计单元格A2的值出现的次数,如此,语句IF(COUNTIF(B$2:B$6,A2),A2,"")就表示,如果统计次数大于0则单元格C2的值等于A2,否则就等于""(即空)。以下公式类似,不再阐述。

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

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

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

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

  好了,整个过程就是这样,输入好C2、D2、E2这三个单元格的函数并得到值之后,使用句柄填充工具往下直接拖动,即可得到全部的数据。


该杂文来自: Excel杂文

上一篇:不填写Excel单元格就不能保存文件

下一篇:只复制筛选数据中的可见单元格

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计