在工作中经常会遇到这样的需求:现在有两列数据,要在 A 列中找出 B 列中没有的记录,在 B 列中找出 A 列中没有的记录。现在和大家分享一下这个方法。
我们先用一个简单的例子看一下。现在有两列数据,可以是分别在不同的数据单(sheet)中。我们先来做个简单的眼力测验,看下面图中左侧,两列数据中不重复的部分把它找出来。
这里数据比较少,我们很容易发现:(左) 列的的“周”、“郑”、“王”是 (右) 列没有的。(右) 列的“李”、“吴”是 (左) 列没有的。
现在我们看一下在 Excel 中如何用公式来实现这里功能。稍微有点难度,但是我们每步都会讲解得尽可能清晰,请不要担心。
- 我们先需要把两列数据定义到“数据块”中,并且分别为它们起个名字。分别叫“左边”和“右边”。相当于上面图中的 (左) 列和 (右) 列。
- 我们选中 (左) 列中所有的数据(这里位于第一张数据单的 A 列),然后选公式选项卡 -> 定义名称 -> 名称中填上“左边”-> 按确定退出。
- 用同样的方法,选中 (右) 列数据(这里位于另一张数据单的 A 列),把它定义成“右边”。
- 然后在你数据列右边的那列头一个单元格,点中后在公式栏中输入
=IF(ISNA(VLOOKUP(
注意公式要以等号开始。括号要用英文括号。
- 然后点左侧中对应的单元格,这里我们点 A1 单元格。
- 然后在 A1 后面打个逗号(要用英文逗号),然后打右边。
- 然后再打个逗号,再打 1,再打个逗号,然后选 FALSE。
- 选完 FALSE 后打上
)),"新","")
括号引号注意全要英文的。
- 完整公式是这样的,打完公式后按回车。
- 我们看一下完整的公式。
=IF(ISNA(VLOOKUP(A1,右边,1,FALSE)),"新","")
如果你的数据在 A 这一列,如果按照前面一模一样的方法定义了“左边”和“右边”两个数据块。那么你可以干脆把这个公式原封不动贴进去。
下面是是对几个重要参数的解释。
- 接下去,我们要把公式拖到整列。把鼠标放到选中那个单元格右下角的那个小十字上,按住十字上往下拖。一直拖到这一列的末尾。
- 我们看到“周”、“郑”、“王”右边出现了“新”,表示他们在另一块数据中是没有的。
- 我们在 (A) 列中找出了 (B) 列中没有的记录,用同样的方法在 (B) 列中找出了 (A) 列中没有的记录。用的公式是
=IF(ISNA(VLOOKUP(A1,左边,1,FALSE)),"新","")
“周”、“郑”、“王”右边出现了“新”。“李”、“吴”右边出现了“新”。这些记录都是在另一列中没有的记录。
- 现在我们用这个方法找出了两列数据种中不同的项。
提示:这种方法用的最多的情况就是当数据发生变更时,要找出那些新的表格中比旧的表格多了些什么、少了些什么 |