表A,表B。可能是两份客户名单,可能是两个季度的销售记录,也可能是人事部给你的两份花名册。现在,老板或者你自己,想知道这两份名单里,到底哪些人是重合的,哪些人是表A有但表B没有的。
眼睛去看?别傻了。除非数据只有十几行,否则你的眼睛会告诉你什么叫绝望。用Ctrl+F一个一个搜?朋友,时间很宝贵,别这么折磨自己。
这事儿,本质上就是个数据比对的活儿。很多人一想到这个头都大了,觉得得用什么高深莫测的函数,或者要写代码。其实真没那么玄乎。这活儿有几种玩法,从青铜到王者,丰俭由人。
青铜玩法:VLOOKUP函数,老派但管用
VLOOKUP,这函数简直就是Excel界的诺基亚,老掉牙,但关键时刻就是能砸核桃。几乎所有处理Excel的人都绕不开它。用它来查重复,算是一种最经典、最直白的思路。
思路是啥?很简单:拿着A表里的每一个名字,去B表里从头到尾找一遍。找到了,就做个标记;找不到,也做个标记。
假设我们要拿A表的“姓名”列,去B表的“姓名”列里查重。你可以在A表旁边新建一列,比如叫“核对结果”。然后在第一个单元格里敲下这个咒语:
=VLOOKUP(A2, B:B, 1, FALSE)
我给你翻译翻译这串咒语的意思:
A2:这就是你要查找的那个“值”,也就是A表里的第一个名字。B:B:这是你要去查找的“范围”,也就是B表的整个姓名列。告诉Excel,就在这儿给我找。1:这是说,如果找到了,你要把B表那片区域里的第几列数据给“抓”回来。因为我们只选了B列这一列,所以这里就写1,意思是把找到的那个名字本身给抓回来。FALSE:这个是精髓。它的意思是“精确匹配”。就是要一模一样,张三就是张三,不能是张三疯。绝大多数情况下,你都得用FALSE。
回车之后,把这个公式往下一拖。你会看到什么?
一堆名字,还有一堆#N/A。
那些显示了名字的,就意味着这个名字在B表里也存在,它们就是重复数据。
而那些显示#N/A的,别怕,它不是报错。它是在用一种非常直白的方式告诉你:“Not Available”,“没找着!”。这些,就是A表有、但B表没有的独苗。
你看,这不就都查出来了吗?你可以筛选一下,把#N/A的筛掉,剩下的就是重复的。反之,只看#N/A,就是A表独有的。
VLOOKUP的优点是直观,思路清晰。但它也有它的脾气: 1. 只能从左往右查。它查找的值必须在查找区域的第一列。这规矩有点死板。 2. 数据量一大,比如几十万行,它会变得非常非常慢,Excel可能会直接卡死给你看。因为它是一个一个去查,很实在,也很笨。
白银玩法:COUNTIF函数,轻快又高效
如果说VLOOKUP是个扛着大锤的壮汉,那COUNTIF就是个拿着手术刀的刺客。它更轻、更快,目标更明确。
VLOOKUP的逻辑是“找到了就告诉我他是谁”,而COUNTIF的逻辑是“你去B表里数数,A表这个名字出现了几次?”
同样,在A表旁边新建一列,输入:
=COUNTIF(B:B, A2)
这咒语更短,更好懂:
B:B:还是那个范围,去B表的姓名列里找。A2:还是那个条件,就找A表第一个名字。
回车,下拉。你会看到一列数字,不是0就是1(或者大于1,如果B表本身就有重复)。
- 结果大于0(通常是1):说明什么?说明在B表里数到了,数量不为零。这不就是重复数据吗?
- 结果等于0:说明在B表里从头数到尾,一个都没数着。这就是A表独有的数据。
是不是比VLOOKUP返回一大串名字和#N/A要清爽得多?你直接筛选数字0或者大于0就行了,一目了然。
我个人其实更偏爱COUNTIF来做这种简单的查重判断。因为它运算速度更快,而且没有VLOOKUP那些从左到右的臭规矩。它就是纯粹地、高效地告诉你“有还是没有”。简单、粗暴、有效。
黄金玩法:条件格式,让重复数据自己“跳”出来
有时候,你不想新建一列,不想破坏原始表格的结构,你只是想直观地看一眼,到底哪些是重复的。
这时候,条件格式就是你的魔法荧光笔。
操作稍微多几步,但效果华丽:
- 选中A表中需要查重的那一列数据,比如A2到A1000。
- 点击菜单栏的“开始” -> “条件格式” -> “新建规则”。
- 在弹出的窗口里,选择“使用公式确定要设置格式的单元格”。
- 在下面的公式框里,输入我们刚刚用过的
COUNTIF函数:=COUNTIF(B:B, A2)>0 - 然后点击旁边的“格式”按钮,设置一个你喜欢的颜色,比如醒目的红色填充或者黄色底纹。
- 确定,确定。
Duang!一瞬间,所有在B表里也出现过的名字,在A表里就自动被标上了颜色。就像黑夜里的萤火虫,你想忽略都难。
这个方法的妙处在于可视化。它不产生任何新数据,只是给你做高亮标记。对于需要快速浏览和汇报的场景,这招简直是神器。你可以同样的方法,在B表也来一遍,这样两张表里重复的数据都会被标记出来。
王者玩法:Power Query,一劳永逸的终极解决方案
好了,前面的都是“术”层面的东西,是你在表格里敲敲打打。现在要说的,是“道”,是一种全新的工作流。它的名字叫 Power Query (在Excel 2016及之后的版本里,它被整合进了“数据”选项卡,叫做“获取和转换数据”)。
如果你需要频繁地、定期地做两个表的比对,或者数据量巨大(几十万、上百万行),用函数会让你的电脑变成拖拉机。这时候,就该Power Query出场了。
你别被它听起来高大上的名字吓到。它本质上是一个数据处理的“后台厨房”。
想象一下,你不再是在你那张脆弱的原始表格上动刀子,而是把两份数据的“影子”请到了一个独立、干净的操作间里,在这里,你可以对它们进行各种处理,处理完了再把结果输出到一张全新的表格里。全程不破坏任何原始数据。
用Power Query查重的逻辑是“合并查询”,说白了就是把两个表根据共同的列(比如“姓名”)给“连接”起来。
步骤大概是这样:
- 加载数据:分别把你的表A和表B加载到Power Query编辑器里。这很简单,选中你的数据区域,点击“数据”->“从表格/区域”。
- 合并查询:在Power Query编辑器里,选择表A,然后点击“主页”选项卡下的“合并查询”。
-
选择连接方式:这才是最关键的一步。在弹出的窗口里,它会让你选择另一个表(表B),并选择两个表用来匹配的列(都是“姓名”列)。下面有一个“联接种类”的下拉菜单,这里面大有文章:
- 内部(Inner Join):这就会筛选出两个表里都有的数据。选了这个,出来的结果就是你的重复数据列表。
- 左反(Left Anti Join):这会筛选出只在左表(表A)里存在,但在右表(表B)里不存在的数据。选了这个,出来的就是A表独有的数据列表。
- 还有右反、完全外部等等,逻辑类似。
-
加载结果:选择好连接方式后,确定。Power Query会给你一个预览结果。你只要点击左上角的“关闭并上载”,它就会把处理好的结果生成一张全新的、干净的表格,放在你的Excel文件里。
用Power Query的好处是颠覆性的:
- 性能极佳:处理百万行数据也是秒秒钟的事,因为它在后台用的是更强大的数据引擎。
- 流程可复用:你做的所有操作步骤都会被记录下来。下个月,你的原始数据表A和表B更新了,你根本不需要重新做一遍。只需要在结果表上右键,点击“刷新”,所有比对结果瞬间自动更新。这才是真正的自动化。
- 非破坏性:你的原始数据永远是安全的,它只是个数据源。
所以,到底用哪种方法,取决于你的具体场景。
- 只是临时快速看一眼,用
COUNTIF配合条件格式,最快最直观。 - 需要一个明确的列表,并且数据量不大,用
VLOOKUP或者COUNTIF生成辅助列,简单有效。 - 如果这是你的日常工作,数据量大,且追求效率和自动化,别犹豫,去学学 Power Query。它会打开你新世界的大门,让你从重复的体力劳动中彻底解放出来。
别再用肉眼去瞪着那两片密密麻麻的单元格了。工具就在那里,选一把称手的,然后把时间花在更有价值的思考上。
【所以,你手上有两个Excel表。】相关文章:
文档怎么转换成excel表格格式12-05
10的9次方怎么打 excel12-05
excel怎么加三角形12-05
怎么把pdf中表格复制到excel12-05
excel2023 折线图怎么做12-05
excel右键显示不出来怎么办12-05
所以,你手上有两个Excel表。12-05
别再截图了,求你了。12-05
excel一个单元格怎么拆分12-05
怎么复制粘贴excel表格格式不变12-05
Excel怎么取消截图快捷键是什么?12-05
标题:excel输入箭头符号怎么打出来的12-05
excel 10的9次方怎么打12-05