首页/新闻资讯/正文详情

Excel查重与去重:条件格式、COUNTIF、数据透视表、删除重复项怎么选

发布时间:2026/11/4 3:20:23 来源:云帆数科 栏目:资讯中心
Excel查重与去重:条件格式、COUNTIF、数据透视表、删除重复项怎么选
拿着一张两万行的客户明细表被同事问“这里面有没有重复的”这件事我经历过太多次。更麻烦的不是查不出来而是很多人上来就点“数据”选项卡里的“删除重复项”点完弹个框说“删除了 13482 个重复值”然后发现表里只剩三分之一的行原本该对得上的金额合计直接腰斩。Excel 的重复项处理从来不是“一个按钮解决”的问题真正决定结果对不对的是你在动手之前有没有想清楚你要的到底是把重复的标出来看一眼还是统计每个值重复了几次还是只留一条、把多余的清掉。这三种诉求对应的是完全不同的四种操作路径——条件格式、COUNTIF 辅助列、数据透视表、高级筛选与删除重复项。这篇就把这四种方法从操作路径、适用边界、参数逻辑到踩坑细节一次讲透不管你是刚接手台账的新人还是天天跟报表打交道的老手都能直接抄作业。1. 先分清“标出来”“数清楚”“删干净”是三件事1.1 三种诉求对应三条完全不同的操作路径重复项处理最容易被混淆的地方是把“判断”和“处置”当成一个动作。我习惯把它拆成三层第一层是感知层你只需要知道“这张表里有没有重复、重复多不多”这时候眼睛看、条件格式标色就够了原表一个字符都不用改第二层是分析层你要知道“哪些值重复了、每个重复了几次、重复集中在哪个时间段或哪个业务员名下”这就需要数字COUNTIF 或者数据透视表才能给出答案第三层才是处置层你要真的删掉多余的记录只保留一条。这三层的操作成本、风险等级、可逆性完全不同。感知层和分析层是“只读”的怎么做都不会破坏数据处置层是“写”操作一旦落盘就可能回不去。很多人翻车的根本原因就是用处置层的方法去做感知层的事——本来只想看看有没有重复结果直接把表改了。所以我的第一条建议很朴素在没搞清楚重复的判定粒度之前任何删除动作都不要在原始数据上做。先复制一个工作表出来命名成“备份_原始”所有破坏性操作都在副本上跑跑完对比数字没问题了再回头处理正表。还有一个常被忽略的点重复的“粒度”是谁定的一张订单明细表按整行判断重复和按订单号判断重复结论可能完全相反。整行重复意味着所有字段都一模一样那是典型的重复录入订单号重复但商品行不同那是正常的一对多关系删了就是事故。所以动手前先在纸上写一句话“在这张表里什么情况下两条记录算同一条”这句话写不出来四种方法用了也白用。1.2 “删除重复项”为什么是最容易出事的那个按钮我得单独说说这个按钮因为它是 Excel 里被误用频率最高的功能之一。位置在“数据”选项卡 →“数据工具”组 →“删除重复项”。点开之后会让你勾选“数据包含标题”然后列出所有列让你勾选判断依据。问题就出在这个勾选上默认是全选的全选意味着整行所有字段完全相同才算重复这个逻辑本身没问题但很多人为了“快”只勾了业务主键那一列结果同一个订单的多条明细被压成一条金额合计直接少了一大截。它还有两个隐蔽特性。第一保留的是“第一次出现”的那条而且它不会问你要保留哪条。如果你的表是按录入时间倒序排的那保留的就是最新那条如果按正序排保留的就是最早那条。业务上经常需要“保留最新状态”这时候你必须先按时间排序让最新记录排在上面再去点删除否则留下的就是过期数据。第二它的结果提示框只弹一次“发现了 X 个重复值保留了 Y 个唯一值”关掉就没有了事后没人能复现你当时删了多少。我的习惯是先在备份表上跑一遍把 X 和 Y 两个数字截图或者记到备注里再回正表操作。至于可逆性CtrlZ 在当前会话里确实能撤销但只要你保存关闭、或者中间又做了别的操作把撤销栈冲掉、或者文件放在共享位置别人已经同步走了就彻底回不去了。合并单元格是另一个雷带合并单元格的区域执行删除重复项行为会变得很难预测删之前先“开始”→“合并后居中”取消合并把值填满。2. 条件格式三十秒让重复值自己跳出来但它有四个盲区2.1 操作路径与两个容易选错的参数这是四种方法里上手最快的一个也是我给别人演示时第一个教的。路径是先选中要检查的数据区域比如 A2:A2000建议连表头一起选或者干脆用 CtrlA 选中整个数据区然后“开始”选项卡 →“样式”组 →“条件格式”→“突出显示单元格规则”→“重复值”。弹出来的对话框只有两个下拉框左边选“重复”还是“唯一”右边选格式。左边这个下拉框很多人从来没点开过。默认是“重复”也就是把出现两次以上的值标出来切成“唯一”就是把只出现一次的值标出来。什么时候用“唯一”比如你要找“只下过一单的客户”做回访或者找“只出现过一次的物料编码”排查是不是录错了。这个切换几乎零成本但知道的人不多。右边这个格式下拉框预设的“浅红填充色深红色文本”其实不太醒目尤其是表里本来就有底色的情况下。点最后一项“自定义格式”把填充色换成亮黄或者亮橙字体加粗视觉冲击力会强很多。另外范围选择有个自动扩展的坑如果你只选中了一个单元格就点条件格式Excel 会自动把范围扩展到“当前区域”而“当前区域”是以空行空列为边界的。如果数据中间有整行空白扩展出来的范围就会断在空白处后面那一段根本没被检查你还以为全表都查过了。所以选中范围这件事手动框选比让它自动扩展靠谱。2.2 用公式版条件格式做出“可筛选”的重复标记预设的“重复值”规则有个局限它只能标色你要把这些行单独拎出来复制走还得靠“筛选 → 按颜色筛选”这在几百行的时候没问题几万行的时候体验一般。更灵活的做法是用公式自定义规则。操作路径选中 A2:A2000 →“条件格式”→“新建规则”→ 选最后一项“使用公式确定要设置格式的单元格”→ 在框里输入公式 → 点“格式”设置填充色 → 确定。公式这么写COUNTIF($A$2:$A$2000,$A2)1这里的引用方式是有讲究的不是随手加的美元符号。$A$2:$A$2000是统计范围必须绝对锁定因为每一行判断时统计的都是同一整列$A2是当前行的判断值列锁定、行不锁定这样规则应用到整列时每一行判断的都是自己那一格。如果写成$A$2那就所有行都在跟 A2 比全表要么全标要么全不标这是新手最常见的公式错误。理解了这个结构多列组合判断就顺手了COUNTIFS($A$2:$A$2000,$A2,$B$2:$B$2000,$B2)1意思是“姓名和手机号同时相同”才算重复。这个在客户名单、员工花名册这类场景里比单列判断准确得多因为重名是常态重名且重手机号才可疑。公式版条件格式还有一个隐形好处标出来的颜色可以直接被“数据”→“筛选”→“按颜色筛选”利用一键把所有重复行筛出来CtrlC 复制到新表原表纹丝不动。这条链路我用了很多年比任何插件都稳。2.3 条件格式照不出来的四类“假重复”与“真漏网”条件格式的判断逻辑是“值相等”而 Excel 对“相等”的定义比你想象中宽松也比你想的严格两头都会出问题。第一类是前后空格。张三和张三 尾巴上多一个空格在条件格式眼里是两个不同的值不会被标重复但业务上就是同一个人。这类问题在从系统导出的数据里极其常见尤其是复制粘贴过来的姓名列。解决办法不是手动删空格而是加一列清洗TRIM(A2)然后把清洗结果选择性粘贴为值覆盖原列。第二类是不可见字符。TRIM 能去掉普通空格CHAR(32)但去不掉不间断空格 CHAR(160)——这个字符从网页或者某些系统导出时特别容易混进来肉眼看和普通空格一模一样。更彻底的做法是TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160), )))先把这个特殊空格替换成普通空格再 CLEAN 掉 ASCII 0-31 的不可打印字符制表符、换行符都在这个范围最后 TRIM 收尾。这一条公式我基本是当成肌肉记忆在用的。第三类是全角半角。全角的“”和半角的“A”、全角的“”和半角的“123”Excel 认为是不同的值。用ASC(A2)可以把全角英文字母和数字转成半角反过来WIDECHAR(A2)是转全角。清洗完再查重准确率立刻上去。第四类是大小写。这一条比较反直觉条件格式的“重复值”规则不区分大小写ABC和abc会被标成重复。大部分场景这是好事但如果你在处理区分大小写的编码比如某些产品序列号就会误判。要区分大小写条件格式得换成SUMPRODUCT(--EXACT($A$2:$A$2000,$A2))1EXACT 是严格比较函数区分大小写、不做类型转换SUMPRODUCT 负责把布尔数组求和。这个公式在几万行数据上会慢一些用之前心里有数。反过来还有“真漏网”两个值业务上不同但被标成了重复。最典型的是文本型数字和数值型数字。单元格里显示123一个存成文本、一个存成数值条件格式会把它们标成重复但如果你这列是物料编码00123和123可能是完全不同的两个东西前导零丢失。这类问题的判断标准不在 Excel 里在你的业务规则里机器给不了答案。3. COUNTIF 辅助列把模糊的“好像重复”变成能排序的数字3.1 三种计数方向决定你最终保留哪一条记录条件格式告诉你“是不是重复”COUNTIF 告诉你“重复了几次、这是第几次”信息量大一个量级。基础写法是在数据旁边插一列辅助列B2 输入COUNTIF($A$2:$A$2000,A2)下拉填充结果大于 1 的就是重复项。这是最常见的写法但它回答不了“该删哪一条”的问题。真正实用的是另外两种方向。从上往下累加COUNTIF($A$2:A2,A2)。注意起始单元格是绝对的$A$2结束单元格是相对的A2随着下拉统计范围逐行扩大。结果是“这个值从表头到当前行出现了几次”。第一次出现返回 1第二次出现返回 2第三次返回 3。筛选出“大于 1”的行就是需要删掉的重复行保留下来的是最早出现的那条。从下往上累加COUNTIF(A2:$A$2000,A2)。起始单元格相对、结束单元格绝对统计范围逐行收缩。第一次出现也就是全表最后一次返回 1往上依次递增。筛选“大于 1”删掉保留的是最后出现的那条。这两者的区别在实际业务里非常关键。假设你在做客户状态表同一客户有多条记录一条是三个月前的“待跟进”一条是上周的“已成交”。如果你用从上往下的写法保留最早那条留下的就是过期状态用从下往上的写法保留最新那条才是对的。前提是你的表按时间正序排如果表是倒序的判断方向就得反过来。所以这个技巧有一个前置动作先确认你的表是按什么顺序排的顺序不对方向再对也白搭。顺带说一个 COUNTIF 的硬伤判断值超过 255 个字符时结果不可靠。如果你要查重的是长备注、长地址、整段文本别用 COUNTIF换SUMPRODUCT(--($A$2:$A$2000A2))SUMPRODUCT 是全等比较没有长度限制代价是慢。3.2 多列组合查重连接符选错等于白做单列查重解决不了“姓名电话组合判断”的需求因为重名太常见了。这时候的标准做法是拼一个组合键辅助列A2|B2|C2然后在组合键上做 COUNTIF。这里最容易被忽略的是那个分隔符。如果直接写成A2B2会出现经典的串味问题A 列是“张”、B 列是“三”拼出来是“张三”另一行 A 列是“张三”、B 列是空拼出来也是“张三”明明是两个不同的人却被判成重复。加上分隔符|之后变成“张|三”和“张三|”就区分开了。分隔符的选择也有讲究。理论上最安全的是CHAR(1)这种不可打印字符因为正常业务数据里不可能出现但它在界面上完全看不见事后排查时你会一脸懵不知道两列之间到底拼了什么。所以我实际工作中一般用|、#或者~~然后在用之前先验证一下数据里确实没有这个字符方法很简单在这列上做一次查找搜~|波浪号是 Excel 查找通配符的转义符能搜到就换一个。还有一个更隐蔽的类型坑。拼接的时候 Excel 会自动把数值转成文本所以 A 列是文本“1”、B 列是数值 2拼出来是“12”另一行 A 列是文本“12”、B 列是空拼出来也是“12”。要避免这种情况拼接前先把各列统一成文本格式或者干脆在每段前后都加分隔符|A2|B2|这样结构就固定了不会错位。3.3 十万行以上COUNTIF 会拖垮表格换成排序比对法COUNTIF 的算法复杂度是平方级的每一行都要扫一遍全表。五千行的时候你感觉不到五万行的时候下拉填充要等十几秒二十万行的时候 Excel 直接假死风扇狂转。我吃过这个亏一张三十万行的流水表加了三个 COUNTIF 辅助列整个文件卡到没法操作最后只能强制结束进程。大表查重的正确姿势是排序 相邻比对。步骤是先按要查重的列排序“数据”→“排序”或者直接点列标题右键排序然后在旁边加辅助列 B2 写IF(A2A1,重复,)从 B3 开始下拉B2 没有上一行可比留空。这个公式只比较相邻两行一次线性扫描三十万行也是秒出结果。原理很简单排序之后相同的值必然挨在一起重复项的判断就退化成了“看上一行跟自己一不一样”。排序的复杂度是 O(n log n)比 COUNTIF 的 O(n²) 快几个数量级。这个方法有两个注意点。第一排序会打乱原始行序如果你的表行号有意义比如行号对应录入顺序排序前先在旁边加一列序号列处理完再按序号排回来。第二Excel 的排序对文本不区分大小写ABC和abc会排在一起而比较符对文本也不区分大小写所以相邻比对的结果和 COUNTIF 是一致的不用额外处理但如果你的业务需要区分大小写就不够用了得换成IF(EXACT(A2,A1),重复,)。如果是多列组合的大表查重先把组合键拼好放辅助列再对辅助列排序比对逻辑一样只是多一步。4. 数据透视表不只看有没有重复还要看重复长什么样4.1 字段摆放顺序决定结果的可读性数据透视表在查重这件事上被严重低估了。多数人觉得它是做汇总的其实它的“计数”功能天生就是查重工具而且它能回答条件格式和 COUNTIF 都回答不了的问题重复的分布规律是什么。操作路径选中数据区域 →“插入”→“数据透视表”→ 选择“新工作表”或“现有工作表”→ 确定。右侧出现字段列表把要查重的字段拖到“行”区域再拖一次同一个字段到“值”区域。拖第二次的时候 Excel 可能会默认给你“求和项”如果这列是文本自动就变成“计数项”如果自动识别错了双击值区域的字段 →“值字段设置”→ 选“计数”。结果就是一张两列的表左边是去重后的唯一值列表右边是每个值出现的次数。按次数列降序排一下重复最多的排在最上面一眼就能看出问题规模。多列场景更能体现它的价值。把“日期”拖到行区域、“客户名称”拖到它下面再把“客户名称”拖到值区域计数得到的就是“每天每个客户出现了几次”。行区域字段的先后顺序直接决定分组层级日期在前就是先按日分组、日内再按客户细分客户在前就是先按客户分组、再看这个客户在哪些日期出现过。做异常排查的时候前者能定位“哪天出了问题”后者能定位“哪个客户出了问题”问的问题不一样排的顺序就不一样。透视表还有个杀手级特性它不改动源数据而且可以随时切换字段重新组合视角。查完客户名称的重复想换成手机号的把行区域的字段拖走换一个就行不用重新写公式、不用清理辅助列。4.2 透视表结果的二次利用排序、筛选、导出透视表算完之后那列计数不要浪费。按次数降序排好用值筛选功能筛出“大于 1”的项点击行标签的下拉箭头 →“值筛选”→“大于”→ 输入 1屏幕上剩下的就是完整的重复值清单直接复制到新表就是一份干净的“问题名单”。拿到这份名单之后可以做两件事。一件是回原表标记把名单放到新的一列在原表用COUNTIF(名单区域,A2)或者VLOOKUP(A2,名单区域,1,0)判断这一行是不是在黑名单里返回非错误值的就是重复行筛选出来处理。另一件是做规模判断如果十万行数据里有八千行重复、且集中在某几个值上说明是批量导入造成的系统性问题得回头查导入流程如果只有零星几十条那可能是人工录入时的手误改一改就行。这个判断决定你接下来是“修数据”还是“修流程”价值远超过单纯把重复标出来。用透视表有两个坑要知道。第一空值会单独成行显示为“(空白)”如果原表这列有空单元格那一行的计数可能很大别把它当成重复项误删它其实是“没填”。第二源数据变了要手动刷新透视表不会自动更新右键 →“刷新”或者“数据透视表分析”→“刷新”。很多人查完一轮、改了源数据、再看透视表还是老数字就是因为忘了刷新。5. 高级筛选与删除重复项批量出清单与批量清数据5.1 高级筛选“不重复记录”保留的是哪一条高级筛选是我最喜欢推荐给需要“出一份去重清单”的场景的方法因为它是四种方法里唯一能把结果复制到别处、原表完全不动的批量方案。路径“数据”选项卡 →“排序和筛选”组 →“高级”。弹窗里有个“方式”选项选“将筛选结果复制到其他位置”。下面几个框列表区域填你的数据范围比如$A$1:$D$2000条件区域留空留空表示不加筛选条件只是去重复制到填一个空白区域的左上角比如$F$1最后勾选“选择不重复的记录”点确定。几秒钟后F 列往右就会出现一份去重后的数据第一行是表头下面是唯一值。原表一个单元格都没动这个安全感是“删除重复项”给不了的。但它的保留逻辑需要特别注意保留的是排序后“第一次出现”的那条。这跟“删除重复项”的底层逻辑是一样的。所以如果你需要保留最新记录还是那个老规矩——先按时间倒序排让最新的行排在最前面再做高级筛选复制出来的就是最新状态的那一条。设置的时候有两个细节容易出错。一个是“复制到”的位置必须是空白的如果目标区域原来有数据高级筛选会直接覆盖而且不弹任何提示覆盖完就没了。另一个是列表区域一定要包含表头否则 Excel 会把第一行数据当成标题结果里少一行你还以为是筛选逻辑出了问题。至于它区分不区分大小写答案是不区分。高级筛选的“不重复”判断基于值相等ABC和abc会被当成同一个值合并掉。如果你的场景需要区分这条路走不通得回到 COUNTIF EXACT 的组合。5.2 删除重复项的勾选逻辑勾错一列全盘皆输再回来说这个“危险按钮”这次说清楚它到底怎么勾。弹窗里第一项是“数据包含标题”如果第一行是表头就勾上这样表头不会被当成数据参与判断如果不勾Excel 会把表头也算成一条记录结果里可能出现一行“姓名”混在数据里。下面的列清单是判断依据勾哪些列意思就是“这些列的值全部相同才算重复”。全勾 整行完全一致才算重复这是最安全的默认状态适合清理“同一份数据被导入了两次”这种场景。只勾一列 只要这一列相同就算重复其他列的值会被无视只保留第一次出现那行的其他列内容这是最容易出事故的勾法。举个具体的例子。一张销售明细表列有“订单号、商品名、数量、单价、金额”一个订单对应三个商品三行记录的订单号相同。如果只勾“订单号”去重结果是三行变一行这张订单只剩下一个商品金额合计直接少了三分之二。正确的做法是勾“订单号商品名”两列或者干脆全勾。这个道理说起来简单但真正在实操中看到弹窗里一长串列名、想快点搞定的时候手很容易滑。我给自己定了个硬规矩执行删除重复项之前先在备份表上跑一遍把提示框里的“发现 X 个重复值、保留 Y 个唯一值”两个数字记下来然后回到正表把勾选状态截图或者口述确认一遍再执行。两次结果必须一致。这个习惯帮我避开了至少两次数据事故。听起来有点繁琐但跟事后重做一遍报表比起来这点时间不值一提。还有个小细节删除重复项之后那些被删掉的行不会留下任何痕迹行号会直接跳过去。如果你后续要跟别人解释“为什么少了这些行”没有记录是说不清的。所以在原始数据旁边加一列序号或者干脆保留一份带时间戳的备份是处理这类问题的基本素养。6. 查重之前先洗数据不做这一步四种方法全会失灵6.1 空格、不可见字符与全半角是三种最常见的“假不重复”前面几节反复提到清洗这里单独拉出来讲因为它不是可选项而是前置条件。四种查重方法全部基于“值相等”这个判断而 Excel 的“相等”是逐字符比较。两个值在业务上明明是同一个人、同一个东西只要存储上有任何一个字符的差异所有方法都会告诉你“不重复”。这一类问题我统称为“假不重复”它比“假重复”更危险因为假重复你会去核对假不重复你会直接放过。普通空格用TRIM(A2)处理它去掉首尾空格并且把中间的连续空格压成一个。注意 TRIM 只认 ASCII 32不认别的。不可见字符是重灾区。CHAR(160) 不间断空格从网页复制时最容易带进来CHAR(9) 制表符在文本导入时常见还有 CHAR(10) 换行符。这三个 TRIM 都搞不定。通用清洗公式是TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,CHAR(160), ),CHAR(9), ),CHAR(10), )))看着长但逻辑很直白先把三种常见的不见字符换成普通空格再 CLEAN 掉剩下的不可打印字符最后 TRIM 收尾。用的时候在旁边插一列公式下拉然后复制 → 右键 →“选择性粘贴 → 值”覆盖原列最后把辅助列删掉。顺序别搞反先粘值再删辅助列。全角半角用ASC(A2)统一转成半角这个函数对英文字母、数字、部分标点都有效但对汉字无效也不需要。注意全角空格 CHAR(12288) 不在 ASC 的处理范围内得单独用 SUBSTITUTE 换掉。这三种处理完之后再做一次查重你会发现之前标不出来的重复项突然冒出来一大堆。这不是方法变了是数据终于统一了。6.2 文本型数字与大小写统一决定查重的最终准确率文本型数字是另一个隐形杀手。判断方法很简单选中这列看有没有单元格左上角带绿色小三角或者用ISTEXT(A2)判断。带绿三角的就是“看起来是数字、实际存成了文本”。这种数据混在一列里查重结果会非常诡异文本“123”和数值 123 会被 COUNTIF 判成重复因为 Excel 比较时会做隐式类型转换条件格式也会标成重复但排序的时候它们又会被分到不同位置相邻比对法就失效了。更麻烦的是 VLOOKUP文本型“123”去匹配数值型 123 会返回 #N/A。统一的方法有两种。一种最快选中整列 →“数据”→“分列”→ 什么都不改直接点“完成”。Excel 会重新识别一遍数据类型把文本型数字批量转成数值。另一种用公式VALUE(A2)或者A2*1转完再粘值覆盖。但这里要留个心眼不是所有数字都该转成数值。像工号“00123”、物料编码“0004567”这种带前导零的编号本来就是文本转成数值会把前导零吃掉变成 123 和 4567反而制造了新的重复。编号类列应该保持文本格式要统一就统一成文本用TEXT(A2,0)或者干脆设成“文本”格式再录入。大小写统一用UPPER(A2)全部转大写或者LOWER(A2)全部转小写视业务习惯而定。虽然 COUNTIF 和条件格式本身不区分大小写但排序比对法里如果用了 EXACT或者你后续要把数据导到别的系统里做匹配统一大小写能省掉很多麻烦。清洗的完整顺序我建议这么走先不可见字符和空格SUBSTITUTE CLEAN TRIM→ 再全角转半角ASC→ 再统一大小写UPPER/LOWER→ 最后统一数据类型文本还是数值按业务定→ 然后才进入查重环节。这个顺序不是随便排的先清字符再转格式否则类型转换之后可能又产生新的空格或者字符问题。7. 四种方法怎么选一张对照表加一套组合拳7.1 按诉求选方法别按习惯选聊完四种方法最后落到“什么时候用哪个”。我把常见的诉求和对应的首选方法整理成一张表照着对号入座就行。你要解决的问题首选方法大概耗时是否改动原表关键注意点快速确认有没有重复条件格式-重复值30 秒否选中范围要手动框选别依赖自动扩展把重复行筛出来复制走条件格式-公式版 按颜色筛选2 分钟否公式的绝对/相对引用别写错知道每个值重复几次数据透视表-计数1 分钟否源数据变动后要手动刷新保留首次出现、标记其余COUNTIF 从上往下累加2 分钟加辅助列先确认表的排序方向保留最后出现、标记其余COUNTIF 从下往上累加2 分钟加辅助列表若倒序方向要反过来多列组合判断重复拼接辅助列 COUNTIF3 分钟加辅助列分隔符要选数据里没有的字符导出一份去重后的清单高级筛选-不重复记录1 分钟否复制目标区域必须是空白直接清理源表删除重复项30 秒是需备份勾选列的粒度决定生死几十万行大表查重排序 相邻比对2 分钟否先加序号列方便排回原序看完这张表你会发现除了最后一行“删除重复项”其他所有方法都是不破坏原表的。这也是我一直在强调的把“看”和“改”分开先看清楚再动手改。7.2 我实际工作中的标准流程最后分享一下我自己处理一张陌生数据表的完整链路这套流程跑了几年基本没出过事。第一步复制备份。在底部工作表标签上右键 →“移动或复制”→ 勾选“建立副本”把副本拖到最前面命名成“备份_日期”。这一步花五秒钟能救命。第二步清洗。按 6.2 的顺序走一遍SUBSTITUTE CLEAN TRIM 去字符、ASC 转半角、UPPER 统一大小写、按业务判断是否转数值。清洗完的辅助列选择性粘贴为值覆盖原列删掉辅助列。第三步条件格式探规模。先选中关键列套一次“重复值”规则。这一步不打数字纯粹是用眼睛估一下重复的比例。如果标出来一片红说明是系统性问题得往上游查如果只有零星几个那基本是录入手误。第四步透视表看分布。如果重复量大用数据透视表把计数拉出来降序排看集中在哪几个值上。这一步决定后续是“按业务规则处理”还是“按主键直接去重”。第五步辅助列定序。确定要保留哪一条之后用 COUNTIF 累加辅助列标出“第几次出现”需要保留最新的用从下往上的写法需要保留最早的用从上往下的写法。这时候千万别急着删先筛选出来数一数跟透视表的数字对一下对得上再往下走。第六步高级筛选出清单。如果要把重复项交给别人确认用高级筛选把去重后的清单复制到新表或者把重复项筛选出来单独存一张表。原表始终保持不动。第七步最后才动刀。所有确认工作做完在备份表上跑一遍“删除重复项”记录 X 和 Y 两个数字跟前面统计的对得上再回正表执行。这套流程看着步骤多实际操作下来一张两万行的表也就十几分钟。真正花时间的永远不是点按钮而是想清楚“哪个算重复”。我个人在这些年操作里最看重的一个习惯是辅助列永远不删。每次查重加的 COUNTIF 列、拼接列、序号列我倾向于留着命名成“查重_第几次”“组合键”“行号”。理由是这笔账迟早有人要复查——领导会问“这些行为什么删了”同事会问“你当时按什么规则判断的”。有这几列在答案就写在表上不用凭记忆复述。表格文件大个几兆不算什么说不清才麻烦。

相关推荐

HarmonyOS分布式数字画板开发实战
HarmonyOS分布式数字画板开发实战

1. 项目背景与核心价值去年在深圳的一次开发者交流会上,我亲眼目睹了三位设计师通过手机、平板和智慧屏同时在一幅数字画作上协作的场景。这种打破设备界限的创作方式,正是HarmonyOS分布式能力带来的革命性体验。这次经历直接促使我着手开发这款支持多设… · 2026/11/4 3:20:23

基于链队列与优先队列的银行排队系统离散事件模拟
基于链队列与优先队列的银行排队系统离散事件模拟

简介:这份数据结构期末作业以银行排队系统为主题,面向正在学习队列、准备课程设计或期末项目的高校学生,重点处理VIP与普通用户的分级排队、按到达顺序服务以及服务窗口模拟等建模与实现问题。压缩包共9个文件、约1.03MB,包含C源码… · 2026/11/4 3:20:23

电商实时比价系统架构设计与性能优化实践
电商实时比价系统架构设计与性能优化实践

1. Galaxy比数平台概述在电商平台的技术架构中,商品比价功能一直是提升用户体验和平台竞争力的关键模块。得物技术团队自主研发的Galaxy比数平台,正是为了解决海量商品数据的实时比价需求而设计的分布式计算系统。这个平台目前日均处理超过2亿次比价请求… · 2026/11/4 3:20:23

电商后台系统核心模块设计与高并发实践
电商后台系统核心模块设计与高并发实践

1. 电商后台系统的重要性与挑战电商后台系统就像一座冰山的隐藏部分,虽然用户看不见,却支撑着整个平台的稳定运行。我经历过一个典型的案例:某母婴电商大促期间,前台页面访问量激增10倍,但由于库存同步延迟导致超卖200… · 2026/11/4 4:00:33

脑机接口协作框架Brainflow的技术解析与应用
脑机接口协作框架Brainflow的技术解析与应用

1. 项目背景与核心概念去年在神经科学实验室参与脑机接口项目时,我们团队遇到了一个棘手问题:传统工作流在处理多模态神经信号时效率低下。这促使我开始思考如何将现代协作工具的理念引入神经科学研究领域,最终形成了"Brainflow"这… · 2026/11/4 4:00:33

MoE架构深度解析:稀疏激活、路由机制与部署实战
MoE架构深度解析:稀疏激活、路由机制与部署实战

2024年到2025年,如果你持续关注大模型圈,会发现一个有点反直觉的现象:有些模型动辄标称几百B甚至上千B参数,但实际部署的时候并没有想象中那么夸张。另一边,一些只有7B、13B参数的稠密模型,反而把显存吃得很… · 2026/11/4 4:00:33

串口转键盘输入程序开发实战与工业应用
串口转键盘输入程序开发实战与工业应用

1. 项目背景与核心价值最近在做一个工业自动化项目时,遇到一个棘手问题:产线上的老式检测设备只有串口输出,但质检系统只能接收键盘输入。市面上现成的串口转键盘工具要么价格离谱,要么功能臃肿,于是决定自己撸一个轻量… · 2026/11/4 4:00:33

医院管理系统数据库设计:门诊住院链路与库存事务落地
医院管理系统数据库设计:门诊住院链路与库存事务落地

简介:医院管理系统数据库设计.docx是一份面向计算机专业数据库课程设计、毕业设计及医院信息系统建模入门者的参考文档,重点解决医院业务复杂、实体关系多、表结构难以落地的问题。压缩包内仅含1个docx文件,约398KB,篇幅集中&… · 2026/11/4 4:00:33

AI挖掘类CRISPR新系统:从基因组数据矿场到基因编辑新工具
AI挖掘类CRISPR新系统:从基因组数据矿场到基因编辑新工具

作为常年在合成生物学和生物信息领域摸爬滚打的从业者,看到“Anthropic自己的实验室挖出一个类CRISPR新系统”这个标题时,我第一反应是:AI公司终于不只是用模型聊聊天、写写代码了,而是把大模型直接怼进了基因组数据矿场里。这事儿… · 2026/11/4 3:59:33

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码