工作中,我们经常需要对两列数据进行对比,找出其中的相同点和不同点。传统的逐项比对方式既耗时又容易出错。
今天,我们将为大家介绍一个高效的方法:
一、提取相同数据
输入FILTER函数:
=FILTER(A2:A19,COUNTIF(B2:B19,A2:A19))
FILTER(显示筛选结果,筛选条件)
显示筛选结果是A列的姓名:A2:A19
筛选条件:COUNTIF(B2:B19,A2:A19)),采用Countif函数得到TRUE的结果。
拆分一下这个公式:
(1)=COUNTIF(B2:B19,A2:A19)
第一个参数是计数区域:B2:B19。
第二个参数是条件区域:A2:A19,
通过COUNTIF函数,我们可以得知A列中的数据是否包含在B列中。
如果包含,则返回1,否则返回0。
(2)在外面嵌套FILTER函数:
=FILTER(A2:A19,COUNTIF(B2:B19,A2:A19))
第一参数是要显示A列姓名,
第二参数是筛选条件:countif函数的结果1作为条件,因为filter函数只会筛选数字为“1”或显示为“TRUE”的记录。
此时,Excel将自动提取出A列和B列中相同的数据。
二、提取不同数据
(1)A列中有B列中没有
只要在上面的公式FILTER的第二个参数前增加一个NOT函数。
输入公式:
=FILTER(A2:A19,NOT(COUNTIF(B2:B19,A2:A19)))
注意:COUNTIF(B2:B19,A2:A19)前面加上NOT函数,使得0变成TRUE。
NOT(COUNTIF(B2:B19,A2:A19))就可以当FILTER函数的第二参数。
FILTER函数筛选条件:只认“1”或“TRUE"
(2)A列中没有B列中有
只需要把A列有B列没有的公式更改一下:
输入=FILTER(B2:B19,NOT(COUNTIF(B2:B19,A2:A19)))
把FILTER函数A2:A19的第一参数更改成B2:B19这个区域就可以了。
三、总结
通过这种方法,我们可以轻松、准确地对比两列数据,并提取出它们的相同和不同点。
希望这个小技巧能对你的工作有所帮助。
评论 (0)