0 前言
给出 Excel 1 和 Excel 2,分别包含若干数据。 两者部分列含义相同,其余列不同。并且两张 Excel 中包含的数据量可能不一样,顺序也有可能不一样,如下图所示(为方便起见,本文将两个表格中的数据放在一张表里进行展示,左侧代表1,右侧代表2)。
我们想找出 Excel 1 和 Excel 2 中所关注区域的数据是否一致。
1 场景及需求
右侧(代表 Excel 2 )数据是在左侧(代表 Excel 1 )已有数据的基础上新增了若干条数据,并且某些员工的年龄被 修改,原有的数据顺序也被打乱,如下图所示。需要对比两张表,找出新增的是哪几行数据,以及数据不一致的地方在哪里。
2 方法
2.1 找出新增的数据是哪些
(1)由于ID是唯一的,可用于定位行。在右侧数据后面的空白列(M列)输入=VLOOKUP(G2,$A$2:$E$16,4,FALSE)
=VLOOKUP(要查找的值,要查找的区域,返回数据在查找区域的第几列,精确查找/模糊查找)
本例中含义为:在左侧区域查找G2(即 ID ),返回数据在查找区域的第4列(相对 ID 列),精确查找,$表示绝对引用。
(2)向下拖动复制 VLOOKUP公式,结果如下图。M列中,#N/A所在行即为新增的数据。
2.2 找出被修改的数据是哪些
(1)以年龄为例,在1.2.1查找结果的基础上,在空白列(N列)输入 =COUNTIF($J$2:$J$18,M2)
=COUNTIF(查找区域,查找值)
本例含义为,在右侧J列(代表 Excel 2 )中查找M2(1.2.1查找出来的结果,源自左侧,即代表 Excel 1中的数据),$表示绝对引用。
(2)向下拖动复制公式,可得如下结果。
图中,N列中数据0所在的行,前后年龄不一致。
注:也可使用条件格式进行核对