乐于分享
好东西不私藏

Excel数据比对:怎么快速地找出对比表格中的不重复数据?

Excel数据比对:怎么快速地找出对比表格中的不重复数据?
在两列数据中,要从A列中找出未在B列未层出现的数据(或找出相同的数据),这可能是你在数据比对最常见的情况了,其实这项工作非常简单,下面我们分几种不同需求情况分别介绍:
(以下都以这两列数据为基础)
情况一:未出现的数据突出显示
请将B列中多出的两个数据突出显示。
1、选择第B列的数据B2:B11
2、执行“开始-->条件格式-->新建规则”
3、点击“使用公式确定要设置格式的单元格”
4、公式内容为:
=countif($A$2:$A$9, B2)=0
其含义为:在第A列中统计值为B2单元的数量,如果数量为0,则未出现过。因为A2:A9的数据是固定的,所以要绝对引用(即$),而B2会随着行数的变换分别对应B3、B4……,所以用相对引用(无$)。
5、点击“格式”按钮,为这些数据标记一个不同的颜色
6、结果如下
情况二:利用辅助列标记
如果你不想修改原数据的格式,则可以用辅助列做标记。也是利用countif结合if函数来完成,公式如下:
=IF(COUNTIF($A$2:$A$9, B2)=0"✕""✓")
结果如下:
这样你可以通过筛选获取想要的数据。
情况三:将未出现的数据列表出来
其实通过上面的方法,已经能找出来了,当然你也可以一步到位,下面把数据变一变、要求改一改:
要求是:根据两个年份的员工表,找出离职的员工,并列出他们的详细信息,结果放在【离职员工】表中。
在【离职员工】表的A2单元格输入公式:
=FILTER(    '2025员工'!A2:E11,    NOT(        ISNUMBER(            MATCH('2025员工'!C2:C11, '2026员工'!C2:C9, 0)        )    ))
结果如下:
公式解析:
match函数完成在2025员工表中查找在2026员工表中也存在的数据项,isnumber函数就是把存在的记录标记出来,但是我们要的是不存在的记录(因为离职了),所以再用not函数反过来就好了。
如果后面这种公式确实难以理解,其实用前面的两种方法之一,都能快速完成任务了。
将这个任务升级一下:
如果这项工作每年都要统计一次,可能过一年你就忘记了这么复杂的公式怎么写了,你可以参考《用好Excel中的lambda函数,不是程序员也能按程序员的思维完成工作任务》,然后把这个复杂的公式定义成简单易记的自定义函数。
下面是完成这个lambda函数步骤:
1、分析参数:此例中,需要【去年员工、原身份证号、现身份证号】。
2、得出lambda定义代码
=lambda(去年员工, 原身分证号, 现身份证号,    filter(        去年员工,        not(            isnumber(                match(原身分证号, 现身份证号, 0)            )        )    ))
3、定义名称为“求离职员工”
4、使用这个函数
所得结果与之前保持一致。
这样,即使过了一年,你也能清楚地知道该怎么求离职员工了。