countif函数比较两列不同_Excel 对比两列数据,提取相同和不同

对比两列数据,找相同项和不同项是实际工作中经常遇到的需求。今天和大家分享3个公式,分别是:

  1. 提取两列数据相同的数据

  2. 提取左侧列有,右侧列没有的数据

  3. 提取左侧列没有,右侧列有的数据

我们的示例数据如下,是豆瓣 TOP 20 和 IMDB TOP 20 电影的名称:

abb6d98ab3cd2a58e03acfe870d00c41.png

公式1:提取两列都有的数据

通用公式如下:

=INDEX(左侧列,SMALL(IF(COUNTIF(右侧列,左侧列数据区域)>0,ROW(左侧列数据区域),大于总数据的一个数字), ROW(A1)))&""

上述公式是数组公式,使用时需要以三键输入(Ctrl+Shift+Enter)。

本例中的公式如下:

=INDEX(B:B,SMALL(IF(COUNTIF(C:C,$B$3:$B$22)>0,ROW($B$3:$B$22),1000), ROW(A1)))&""

5ea2c0dadc5cdb3f7ec76506d29412fa.png

公式2:提取仅在左侧列的数据

通用公式如下:

=INDEX(左侧列,SMALL(IF(COUNTIF(右侧列,左侧列数据区域)=0,ROW(左侧列数据区域),大于总数据的一个数字), ROW(A1)))&""

上述公式是数组公式,使用时需要以三键输入(Ctrl+Shift+Enter)。与第一个公式的差异在 COUNTIF(右侧列,左侧列数据区域)=0处,在这里是等于0(=0)。

本例中的公式如下:

=INDEX(B:B,SMALL(IF(COUNTIF(C:C,$B$3:$B$22)=0,ROW($B$3:$B$22),1000), ROW(A1)))&""

在E3单元格输入后,向下复制。

397c9fcf754eb27a60b5e11169255be2.png

公式3:提取仅在右侧列的数据

通用公式如下:

=INDEX(右侧列,SMALL(IF(COUNTIF(左侧列,右侧列数据区域)=0,ROW(右侧列数据区域),大于总数据的一个数字), ROW(A1)))&""

上述公式是数组公式,使用时需要以三键输入(Ctrl+Shift+Enter)。与第二个公式的差异是对应的左右列和区域相反。

本例中的公式如下:

=INDEX(C:C,SMALL(IF(COUNTIF(B:B,$C$3:$C$22)=0,ROW($C$3:$C$22),1000), ROW(A1)))&""

在E3单元格输入后,向下复制。

4cf6ef7648d53226461dd2e4cb717538.png

最后

大家可能已经发现了,今天的公式与昨天的模糊搜索公式是类似的。正如一位读者评论的一样,这个是一个万金油公式,用于一对多查询的场景。公式的核心是SMALL函数的第一个IF函数参数的判断,通过不同的判断公式,可以返回不同的结果。

今天的分享就到这里,祝大家一天好心情。

更多查找公式

▶ 使用 INDEX + MATCH 函数按条件查找

▶ VLOOKUP 函数区间查找,看这篇就明白了

▶ 学会这 4 种查找公式,单条件查找不在话下

▶ Excel 多条件查找公式(数字类)

▶ Excel 使用关键词搜索并返回多个匹配的数据(模糊搜索)

        觉得有用 ↓↓↓  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值