现实工作之中常遇到这种情况,外发一份表格,当再次被回收后,这份表格不知道对方更改了什么,需要将差异信息识别出来。
对于Excel,介绍四种方法,总有一种方法适合你。

方法一:高级筛选法
例如下方案例数据,可以使用Excel高级筛选功能,实现数据比对。
依次执行:数据-》排序和选择-》高级。
我想在原始数据区域识别出来哪些数据和第二个区域数据相同的。

第一个参数框选择左边原始数据区域,第二个参数框选择右边选区数据。回车后,左边原始数据区域,相同的数据显示出来,将数据标记绿色,取消筛选状态后,剩下的数据就是差异数据了。


以上就识别出来差异的一行的数据了。
方法二:函数计数
高级筛选法,只能够识别出来差异的数据,不能够知道存在差异的数据条数。这时可以通过条件计数统计函数实现。
先使用textjoin函数将整行数据合并拼接成一个完整字符。例如:
=TEXTJOIN(“”,,B3:H3)
获取到拼接结构后,就可以使用countifs函数计数统计了。
=COUNTIFS(S:S,I3)
数量为0的函数,就是目标识别记录。

方法三:数据签名法
高级筛选法,缺点就是对单元格不是很敏感,例如数字1和文本1拼接后结果是一样的。统计时,就可能识别错误,认为记录是相同的。这时就可以使用签名函数进行处理了。
先试用签名函数,获取到各行数据签名,然后再使用countif函数计数统计
数据签名:=ETSignature(B3:H3)
数量统计:=COUNTIFS(S:S,I3)

获取到每列数据签名后,接下来方法就和方法二一样了,可以使用countifs函数统计签名数据数量,或者使用VLOOKUP函数进行匹配,不过建议使用countifs函数。该函数不仅可以知道有没有,还可以知道数据数量。
方法四:数据一致核验函数,从数据之中找不同
=ETDifferentPro(B3:H17,L3:R17)。数据差异比对函数,该函数会比对两个选区数据之间的差异。例如下图案例函数。函数会先计算出来两个选区按行方法的数字签名,和列方向的数字签名,然后比对双方数字签名是否一致,如果不一致,函数会返回不一致的签名值
该方法对于少量数据核验场合非常高效。例如一步到位返回存在差异的签名。

如果数据体量比较大,可以推荐使用方法三,如果小体量数据,且差异数据比较小,推荐使用方法四。