
摘要:在 Excel 查重可优先用1、条件格式高亮重复、2、数据选项删除重复项、3、函数公式精准判重、4、Power Query 批量去重与跨表比对。原因展开:条件格式适合快速可视化,零门槛高亮重复值,不改动原始数据,便于先核对再决定是否删除,适合大多数日常表格的初筛与复核。
🧭 一、方法总览与选择指南
从快到稳,从单表到跨表,按目标选择方法。
- 想快速看到重复:条件格式。
- 想直接去重留唯一:删除重复项、高级筛选唯一、Power Query。
- 要输出清单或精确定义重复:函数公式或数据透视表。
- 跨表跨文件或模糊相似:Power Query 合并与模糊匹配。
| 方法 | 适用场景 | 优点 | 局限 | 操作路径概览 |
|---|---|---|---|---|
| 条件格式 | 快速高亮重复 | 直观可视化 | 不生成去重结果 | 开始 条件格式 突出显示单元格规则 重复值 |
| 删除重复项 | 直接去重保留首条 | 一键完成 | 不可逆改动,需备份 | 数据 删除重复项 选择关键列 |
| 函数公式 | 标记重复与输出清单 | 灵活、可追溯 | 需写公式,性能看规模 | COUNTIF COUNTIFS UNIQUE FILTER XLOOKUP |
| 高级筛选 | 导出唯一列表 | 无需函数 | 界面旧,条件配置复杂 | 数据 高级 勾选仅限唯一记录 |
| 数据透视表 | 统计出现次数 | 一览计数 | 对源表结构有要求 | 插入 数据透视表 值汇总为计数 |
| Power Query | 大数据、跨表合并与模糊 | 可重复刷新 | 学习曲线 | 数据 自表或文件获取数据 查询编辑器 |
🔎 二、条件格式高亮重复
- 单列重复:选中列 开始 条件格式 突出显示单元格规则 重复值 选择格式即可。
- 多列组合重复:选中数据区域 条件格式 新建规则 使用公式确定要设置格式的单元格,公式示例:=COUNTIFS($A:$A,$A2,$B:$B,$B2)>1 然后设置填充色。
- 跨表对比重复:在表1的A2开始新建规则,公式=COUNTIF(表2!$A:$A,$A2)>0。
注意与技巧:
- 忽略空白:在公式中加条件,如$A2<>“”。
- 区分大小写:用=SUMPRODUCT(–EXACT($A$2:$A$100,$A2))>1。
- 去除看不见空格:先清洗,配合TRIM CLEAN SUBSTITUTE。
- 性能建议:对列范围改为精确区域,如$A$2:$A$50000,避免整列。
✂️ 三、删除重复项一键去重
步骤:
- 选中数据区域或单元格,确保表头正确。
- 数据 删除重复项 勾选用于判断重复的关键列。
- 确定 查看结果对话框中的删除条数与保留条数。
要点:
- 多列联合去重等于以这些列构成的唯一键。
- 默认保留首次出现记录。如需自定义保留规则,先排序再删除重复项。
- 支持在Excel表格对象中使用,结果可撤销,请先备份重要数据。
对比高级筛选唯一:
| 功能 | 删除重复项 | 高级筛选唯一 |
|---|---|---|
| 是否改动源数据 | 是 | 否,可复制到其他位置 |
| 多列键 | 支持 | 支持 |
| 结果形态 | 保留唯一的原表 | 导出唯一列表 |
| 学习成本 | 低 | 中 |
🧮 四、函数公式精准判重
常用思路与公式库:
| 任务 | 公式示例 | 说明 |
|---|---|---|
| 标记重复行单键列 | =COUNTIF($A:$A,$A2)>1 | 返回TRUE为重复 |
| 标记首次之外重复 | =COUNTIF($A$2:$A2,$A2)>1 | 只标记第二次及以后 |
| 多列组合键判重 | =COUNTIFS($A:$A,$A2,$B:$B,$B2)>1 | 以A B为联合键 |
| 区分大小写判重 | =SUMPRODUCT(–EXACT($A$2:$A$100,$A2))>1 | EXACT严格匹配 |
| 提取唯一列表 | =UNIQUE(A2:A100) | Microsoft 365 动态数组 |
| 仅保留重复值清单 | =FILTER(A2:A100,COUNTIF(A2:A100,A2:A100)>1) | 输出重复项 |
| 统计重复项数量 | =SUM(–(COUNTIF(A2:A100,A2:A100)>1)) | 需Ctrl Shift Enter在旧版 |
| 跨表判重 | =ISNUMBER(MATCH(A2,表2!A:A,0)) | TRUE为在表2存在 |
| 返回重复的次数 | =COUNTIF(A:A,A2) | 出现频次 |
进阶组合:
- 生成去重且保留首条的完整记录:用UNIQUE配合CHOOSECOLS TAKE等动态数组。
- 按次数筛选重复:=FILTER(A2:C100,COUNTIF(A2:A100,A2:A100)>=2)。
- 跨列合并为键后判重:在助手列用=A2&”|”&B2,再COUNTIF对助手列判重。
性能优化:
- 将整列引用改为定长区域。
- 在大数据集中用辅助列预计算键,减少多重COUNTIFS。
- 优先使用动态数组UNIQUE FILTER避免大量重复计算。
🎛️ 五、高级筛选与数据透视表
高级筛选唯一:
- 选中列或区域。
- 数据 高级 勾选仅限唯一记录。
- 可选择复制到其他位置,得到唯一列表。
数据透视表统计重复:
- 插入 数据透视表,选择源数据。
- 将关键列拖到行和数值,数值汇总方式为计数。
- 筛选计数大于1即为重复项。
优势:无需公式即可批量看到重复分布,支持多维度分析。
⚙️ 六、Power Query 去重与跨表比对
单表去重:
- 数据 自表或范围 将数据加载到Power Query。
- 在关键列上 主页 删除重复项。
- 关闭并上载,得到去重表,源数据更新后可刷新。
跨表查重与合并:
- 分别将两个表加载到Power Query。
- 主页 合并查询 选择匹配列,联接类型选内联接获取交集,左反联接找仅在左表的非重复或差异。
- 展开结果列,输出重复或差异明细。
模糊匹配:
- 合并查询时勾选使用模糊匹配,可设置相似度阈值与忽略大小写、忽略空格。
- 适合人名公司名轻微差异的相似查重。
🔗 七、跨表跨文件查重实战
公式方案:
- 同工作簿:=ISNUMBER(MATCH(A2,表2!A:A,0)) 标记重复。
- 跨文件:=ISNUMBER(MATCH(A2,’C:路径[文件B.xlsx]表名’!$A:$A,0)) 需要同时打开或使用Power Query。
- 多条件跨表:=SUMPRODUCT((表2!$A$2:$A$100=$A2)*(表2!$B$2:$B$100=$B2))>0。
Power Query 方案更稳健,适合大批量与定期刷新。
🧼 八、模糊查重与数据清洗
清洗先行:
- 去空白与不可见字符:=TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160),””)))。
- 统一大小写与格式:=UPPER LOWER PROPER,日期用正确日期类型。
- 规范手机号邮箱:SUBSTITUTE 去分隔符,只保留数字或统一域名小写。
模糊与近似:
- Power Query 模糊合并,设相似度阈值,如0.8。
- Fuzzy Lookup 外接加载项可在旧版Excel实现模糊查重。
- 自定义规则:提取首字母拼音简写或正则清洗后再判重。
⚡ 九、性能与大数据集优化
- 优先Power Query处理百万级数据,再回写到工作表。
- 将COUNTIF区域限制为实际数据行,避免整列计算。
- 用助手列拼接键,减少多字段COUNTIFS。
- 关闭自动计算与屏幕更新,完成后手动计算。
- 分区处理:按首字母或哈希列分块查重再合并。
🧩 十、常见问题与排查
| 问题 | 原因 | 解决 |
|---|---|---|
| 看起来重复却判为不同 | 前后空格 格式不同 | TRIM CLEAN 统一格式 转为值 |
| 数字文本混淆 | 文本数字混用 | 乘以1或使用VALUE统一类型 |
| 大小写不一致 | 默认不区分大小写 | 用EXACT或Power Query忽略大小写设置 |
| 去重删错数据 | 未正确选列 未备份 | 先复制备份 先高亮再删除 |
| 计算很慢 | 整列引用 重复计算 | 定长区域 助手列 动态数组 |
🧠 十一、VBA 宏批量查重与去重
宏能一键执行常见查重流程,适合重复任务。
示例一 高亮某列重复
Sub HighlightDup()
Dim rng As Range
Set rng = Range(“A2:A10000”)
With rng
.FormatConditions.Delete
.FormatConditions.AddUniqueValues
.FormatConditions(.FormatConditions.Count).DupeUnique = xlDuplicate
.FormatConditions(.FormatConditions.Count).Interior.Color = RGB(255, 199, 206)
End With
End Sub
示例二 按多列联合键去重保留首条
Sub RemoveDupMultiKeys()
Dim rng As Range
Set rng = Range(“A1:D100000”)
rng.RemoveDuplicates Columns:=Array(1, 3), Header:=xlYes
End Sub
注意先保存文件并在测试副本上运行。
🎯 十二、实战场景与操作模板
场景一 客户名单以手机号去重
- 清洗手机号:去空格与分隔符,仅保留数字。
- 按手机号删除重复项,保留首条或先按最新日期排序后再删。
- 用数据透视表统计手机号计数,核对计数大于1的客户。
场景二 订单表按客户名 加 产品 组合键查重
- 新增助手列=客户名&”|”&产品名。
- 用COUNTIF判重或删除重复项对助手列去重。
- 返回重复清单:=FILTER(A2:F1000,COUNTIF(G2:G1000,G2:G1000)>1)。
场景三 跨月销售表比对重复订单号
- 用MATCH或XLOOKUP在本月表中查找上月订单号,标记是否存在。
- Power Query 合并查询取交集,输出重复订单清单。
- 对重复订单次数进行统计,识别异常重复。
🧰 十三、快捷键与小贴士
- 选择整列或整表后再设置条件格式,范围要精确。
- 删除重复项前先复制到新工作表备份。
- 用表格对象Ctrl T,让新增行自动继承规则与格式。
- 在动态数组环境下,用UNIQUE FILTER极大简化查重流程。
| 任务 | 快捷方式与提示 |
|---|---|
| 填充公式 | 双击单元格右下角或Ctrl D |
| 选择区域 | Ctrl Shift End扩展到数据尾 |
| 撤销去重 | Ctrl Z 立即撤销 |
| 创建表格 | Ctrl T 便于规则继承 |
结尾总结:Excel 查重的高效路径是先用条件格式可视化重复,再依据目标选择删除重复项 高级筛选 函数透视表或Power Query,结合清洗与性能优化形成可复用流程。
行动建议:
- 先备份数据,再执行任何去重操作,优先采用可视化预检。
- 为判重定义清晰的唯一键,必要时用助手列拼接多字段。
- 中大规模或跨表需求优先用Power Query,构建可刷新流程。
- 将清洗步骤标准化,统一大小写 空格 类型,减少误判。
- 沉淀模板与宏脚本,将高频查重流程一键化。
相关问答FAQs:
1. Excel中查重的基本方法是什么?
在工作中,我经常需要对大量数据进行查重,以确保数据的准确性。Excel 提供了条件格式功能,这是最直观的查重方式。具体步骤是选中数据区域,点击“开始”选项卡下的“条件格式”,选择“突出显示单元格规则”中的“重复值”。这样,重复值会以颜色高亮显示,方便快速识别。我的经验是,这种方法适合数据量不超过几千条,处理速度和响应都非常顺畅。
2. 如何使用Excel公式实现查重?
除了条件格式,我还用过COUNTIF函数来判断重复。举例来说,如果A列是姓名列表,我会在B2单元格输入公式:`=IF(COUNTIF($A$2:$A$100,A2)>1,”重复”,”唯一”)`,然后拖动填充。这样可以标记每个值是否重复。这个办法在做数据整理报告时特别实用,我曾用它帮助团队快速筛选出重复客户名单,显著提高核对效率。
3. 用Excel数据透视表查重有哪些优势?
数据透视表在查重及统计重复项数量方面非常有效。以商品ID为例,建立透视表,把商品ID放行标签,选择计数字段,能快速看到每个ID出现的次数。表格如下:
| 商品ID | 出现次数 |
|---|---|
| 1001 | 1 |
| 1002 | 3 |
| 1003 | 2 |
我用此方法精准识别库存中重复采购的产品,帮助减少过度库存,显著节约成本。
4. 怎样结合Excel“删除重复项”功能提高查重效率?
对于需要直接剔除重复项的场景,我推荐使用“删除重复项”功能。其位置在“数据”选项卡中,选中数据范围,点击“删除重复项”,能按照单列或多列联合条件进行筛选。比如我处理过一份客户名单,按“姓名”和“手机号”联合去重后,数据从5000条精简至4200条。有时需要保留首次出现记录,我会先备份数据再操作,以防误删。这个功能尤其适合最终数据清洗阶段使用,能快速得到干净的数据集。
文章版权归“万象方舟”www.vientianeark.cn所有。发布者:小飞棍来咯,转载请注明出处:https://www.vientianeark.cn/p/591395/
温馨提示:文章由AI大模型生成,如有侵权,联系 mumuerchuan@gmail.com 删除。