
做数据整理这行久了最怕的不是公式写不出来而是拿到一张几百上千行的表光靠眼睛去找哪些内容重复了。上个月帮一个做电商运营的朋友整理订单表他把三个渠道的数据粘在一个sheet里大概七千多行问我这里面有没有重复下单的。我第一反应不是打开表看而是先问清楚你要找的重复是整行一模一样还是只看订单号重复这一个问题问出来后面用什么方法就定了。Excel筛选重复项这件事听起来是个小操作实际上新手最容易在定义这一步就跑偏然后套一个方法上去结果出来一堆看着对、其实错的结论。这篇就把我平时用的四种方法摊开讲从最直观的标色到最灵活的公式再到批量提取和彻底清理每一种都说清楚它适合什么场景、有什么坑你照着做就能复现。1. 动手之前先想清楚你要找的重复是哪一种1.1 重复在表格里其实有三种含义很多人卡在第一步是因为把三种完全不同的需求混成一件事。第一种叫完全重复行就是整行每一个单元格的内容都一致这种多见于系统导出数据时的重复推送、复制粘贴时的手误。第二种叫关键字段重复比如订单号重复但金额不同、员工姓名重复但部门不同这种情况你判断的是主键冲突而不是整行冲突。第三种叫组合重复单看哪一列都不重复但姓名日期或者商品规格凑在一起就撞了这种最隐蔽也最容易漏。这三种需求对应的方法完全不同。完全重复行用删除重复项或者条件格式一键就能看出来关键字段重复得用COUNTIF或者数据透视表去统计组合重复则要把多个字段拼起来或者用COUNTIFS。我见过最常见的翻车现场是有人拿删除重复项去处理订单表结果把同一订单号下的多条明细当成重复给删了数据直接少了一半等到对账才发现只能重新导一遍。所以在动任何一个按钮之前先拿张纸写下来我要判重的字段是哪几个判断标准是什么。还有一个容易被忽略的点——重复的方向。你是想找出所有出现过的重复项还是只想标记第二次及以后出现的那条前者会把第一次出现的那条也标出来后者只标后面的。这两种在处理业务数据时差别很大比如去重发货你要保留第一次发货记录那标记的就是第2次及以后而如果是找出所有被重复录入的客户那第一次录入的那条也得一起揪出来核对。Excel条件格式默认标的是前者COUNTIF默认算的也是前者但只要在公式上做一点小改动就能切成后者这个后面会具体讲。1.2 四种方法的选型对照我把这四种方法的适用边界整理成一张表你拿到数据先对号入座能省掉一大半试错时间。方法适合的重复类型操作难度是否改变原数据数据量上限参考条件格式标色单列或整行完全重复最低否只加格式一两万行内较流畅COUNTIF辅助列单列、组合字段重复中等否新增一列几万行可接受十万行以上明显变慢高级筛选提取唯一值清单中等否输出到新区域五万行内比较稳删除重复项/透视表完全重复行、分类计数低删除重复项会改原数据十万行以上建议走分组统计这张表里数据量上限那一列是经验值跟电脑配置和列数强相关不必当成死线但可以作为判断依据。超过十万行的表条件格式和COUNTIF都会开始拖尤其是COUNTIF它本质上是每一行都要扫一遍整个区域行数翻倍计算量是平方级增长。这时候我会直接跳到数据透视表或者用分组统计的思路反而更快。选方法还有一条隐性原则能不动原数据就不动。条件格式和辅助列都是只读的出错了删掉格式或删掉那列就恢复原样而删除重复项是物理删除按下确定的那一刻数据就没了虽然有撤销但如果中间又做了别的操作撤销链断了就找不回来。所以我的习惯是凡是要删数据的操作先把整张表复制一份到新sheet命名为原始备份日期再动手。2. 方法一条件格式标红最直观的肉眼扫描方案2.1 三步操作与结果解读这是绝大多数人第一个学会的方法也是我推荐给新手的入门路径因为它不需要理解任何公式逻辑点几下就出结果。第一步选中你要判重的列或者整张数据区域。如果只想看某一列重复就点这一列的列标如果判断整行重复就把整个数据区框起来。第二步在开始选项卡里找到条件格式展开后选突出显示单元格规则再点重复值。第三步弹出的对话框里确认一下显示样式默认是浅红填充色深红色文本直接点确定即可。结果出来之后所有重复出现的单元格都会被涂成红色。这里有个细节值得注意被标红的是所有出现过两次及以上的值包括第一次出现的那一条。比如A列有张三、李四、张三那么两个张三都会被标红李四不动。这个行为符合找出所有重复项的直觉但如果你只想找出多出来的那一条条件格式就不够用了得换COUNTIF的思路。另外标完色之后是可以把它筛出来的。点表头的筛选箭头在按颜色筛选里选那个浅红色就能把所有重复项单独筛出来看。这个组合用法很实用——先标色确认范围再按颜色筛出来复制到新表做二次核对。我经常用这招快速看一眼某列有没有异常比写公式快得多。2.2 容易被忽略的三个判定细节条件格式好用但它的判断规则有几个隐蔽设定不知道的话很容易得出错误结论。第一它比较的是显示值还是实际值。答案是实际值。也就是说如果A1是数字100A2是文本100条件格式不会把它们当成重复尽管在你眼里长得一模一样。这种文本型数字混在数值列里的情况从系统导出的数据里特别常见判断前最好先统一格式。第二它不区分大小写。ABC和abc会被判定为重复这在处理英文编码、邮箱地址时通常没问题但如果你的业务要求区分大小写条件格式就满足不了得用精确比较的函数。第三空单元格会被算成重复。如果选中的区域里有多个空白单元格它们会一起被标红这纯属干扰项实际操作时我会先把空白行筛掉或者排除在选择范围之外。还有一个坑跟前后空格有关。Excel在条件格式判重时对文本是做了类似去空格的处理的但这不代表所有场景都可靠。我遇到过一次从网页复制的客户名单里混了不可见的空格字符条件格式标出来的结果和人工看的对不上后来用LEN函数一量才发现每个名字长度都不一样。这种情况的处理办法是先做一轮清洗把TRIM和CLEAN套上去再判重。清洗这步后面会专门讲。注意条件格式的重复值规则对整行判断时要求所选行内所有单元格都相同才算重复只要有一个单元格不同就不标。所以框选范围的时候务必把整行都框进去别只框了前几列。2.3 它的优势与天花板条件格式最大的价值是零学习成本加即时反馈。你把数据丢给同事让他自己标一下重复两分钟就能上手不用解释公式怎么构造。对于日常几百行的名单核对、发票号检查、商品编码查重这个方法足够用了而且不产生任何辅助列表格看起来干净。但它的天花板也很明显。第一它只能回答是不是重复不能回答重复了几次。看到一片红你没法知道某个值是出现2次还是20次还得再借助别的工具。第二它不支持组合条件。想判断姓名身份证号这个组合有没有重复条件格式做不到除非你先把两列拼成一列。第三数据量一大就卡尤其是整行标色格式渲染很吃资源几千行还行几万行滚动起来会明显掉帧。所以我的定位很明确条件格式是初筛工具负责快速告诉你这张表脏不脏真要出结论、要做统计还得靠后面的方法。3. 方法二COUNTIF辅助列最灵活的可扩展方案3.1 公式原理拆解为什么它能数出重复次数COUNTIF是统计满足条件的单元格个数把它用在判重上逻辑是这样的对每一行统计这个值在整个区域里出现了几次。如果结果是1说明只出现一次大于1说明重复了。这个思路比条件格式多了一层信息——它给出的是次数不是简单的是非题。假设数据在A2到A1000我在B2写公式COUNTIF($A$2:$A$1000,A2)然后向下填充。这里的关键是引用的写法第一个参数$A$2:$A$1000用了绝对引用意味着不管公式填到哪一行统计的区域都锁死在这一段第二个参数A2是相对引用随着行号变化依次变成A3、A4、A5……这样每一行都在拿自己的值去整个区域里数一遍。填充完之后B列就是每个值出现的次数。你可以直接在B列上做筛选筛出大于1的行这些就是重复项。也可以再配合条件格式把B列大于1的标红视觉上更清楚。如果想知道重复了几次直接看数字就行比如某个订单号显示3说明它出现了3次也就是有2条是多余的。这里有个容易被问到的点为什么不能写成COUNTIF(A2:A1000,A2)不带美元符号因为向下填充时区域会跟着往下滑到第100行就变成A101:A1099了统计范围完全跑偏。所以只要涉及整列作为统计范围绝对引用是必须的这是新手最常犯的引用错误之一。3.2 只标记多出来的那条的写法前面说过很多时候我们要的不是找出所有重复而是标记第2次及以后的重复。这个需求用COUNTIF也能做但引用要改一下。公式改成COUNTIF($A$2:A2,A2)。注意第一个参数是$A$2:A2只有起始行被锁定结束行是相对的随着填充不断向下扩展。这样在第2行时统计区域是A2:A2只有自己一个结果必为1到第5行时统计区域是A2:A5只有前面出现过的才算。所以当结果大于1时就说明这个值是之前已经出现过的也就是多出来的那一条。这个写法的实际价值很大。比如你要做去重发货得保留第一条记录、标记后续的重复用这个公式就能精准锁定要处理的行。再比如客户名单去重后再群发保留首次录入的联系人把后来重复的挑出来单独审核也是同样的逻辑。我个人觉得这个变体比基础版更常用值得单独记住。再加一层如果要把结果直接变成是/否的文字标签方便筛选可以套个IFIF(COUNTIF($A$2:A2,A2)1,重复,)。这样B列只在重复行显示重复两个字其余为空筛选重复就一步到位比筛数字更直观。3.3 组合字段判重与COUNTIFS单列判重只是基础场景真正复杂的是组合重复。比如一张员工表姓名有重名、工号也有重复但那可能是两个人只有当姓名部门同时相同才算真正重复。这时候要用COUNTIFS它能同时满足多个条件。写法是COUNTIFS($A$2:$A$1000,A2,$B$2:$B$1000,B2)。每个条件都是区域值成对出现逻辑上是且的关系也就是A列等于A2并且B列等于B2同时满足才计数。结果大于1说明这个组合重复了。三个字段、四个字段同理往后继续加参数就行。如果你觉得COUNTIFS写起来太长还有一个取巧做法先在旁边加一个辅助列把要组合的字段拼起来比如A2|B2中间加个竖线做分隔符防止张三丰和张三丰这种拼接歧义然后再对这一列用普通COUNTIF判重。这个方法的好处是拼接后的列可以直接看、直接筛排查问题时比多条件公式更好理解。缺点是会多占一列表结构上不够干净。两种做法我都用字段少的时候用COUNTIFS字段多或者需要反复核对的时候用拼接列。3.4 COUNTIF用错的重灾区COUNTIF看着简单实际坑不少我列几个最常见的。第一超过15位的长数字会被截断。Excel在COUNTIF里比较数字时只比较前15位后面的位数一律当0处理。这意味着两个前15位相同、后面不同的订单号会被误判成重复。订单号、身份证号、银行卡号这类长数字是重灾区。解决办法有两个一是把数字转成文本再比较公式里加*写成COUNTIF($A$2:$A$1000,A2*)二是改用SUMPRODUCTSUMPRODUCT(--($A$2:$A$1000A2))它是做精确比较的不受15位限制。第二通配符会误伤。COUNTIF的条件参数默认支持通配符*代表任意多个字符?代表单个字符~是转义符。如果数据里本身含这些符号比如商品型号里有ABC*那统计结果就会把ABCD也算进去。处理办法是用SUBSTITUTE把通配符转义或者在公式里加~前缀比较麻烦。我一般的做法是如果数据里确定有这类符号干脆不用COUNTIF直接上SUMPRODUCT或MATCH。第三文本型数字和数值型数字互不匹配。和条件格式一样COUNTIF也认格式。A列是文本100你拿数值100去统计结果是0。这种时候先用分列把整列转成常规或者用--A2强制转换类型。4. 方法三高级筛选不写公式的批量提取方案4.1 完整操作流程与两个选项的区别高级筛选这个功能藏得比较深在数据选项卡靠右的位置很多人用了几年Excel都没点开过。它解决的问题跟前面两个不一样前面两个是告诉你哪里有重复高级筛选是把不重复的挑出来单独放一份。操作流程是这样的先选中数据区域里的任意一个单元格点数据里的高级。弹窗里有两个选项需要特别看清楚——在原有区域显示筛选结果和将筛选结果复制到其他位置。前者会把不符合条件的行隐藏掉后者则把结果输出到你指定的新位置。判重场景下我一般选后者因为我们要的是不重复的清单复制到新区域既不影响原表又能直接拿去用。弹窗下面有个复选框选择不重复的记录勾上它这是整个功能的核心。然后指定列表区域就是你的数据源和复制到的位置点一下空白区域的某个单元格即可确定之后一份去重后的清单就出现在新位置了。整个过程不需要写一个公式对不熟悉函数的人来说友好度很高。需要注意的是这个操作会保留每个重复组的第一条记录后续的重复全部丢弃。所以如果原始数据里同一订单有多条明细去重后只剩下第一条剩下的信息就看不到了。这也是为什么我一直强调用高级筛选之前要确认你的数据是不是一行一个独立记录如果是明细表先做分组汇总再谈去重。4.2 条件区域的写法同一行是与不同行是或高级筛选真正强大的地方在于它能配合条件区域做复杂查询这套写法值得单独花时间理解因为它跟判重结合起来能解决很多实际问题。条件区域要写在数据区域之外的空白处结构是第一行写字段名必须跟数据源的列标题一字不差包括空格和标点下面几行写条件值。规则很简单——同一行里的多个条件是并且关系不同行之间是或者关系。举个例子A1是部门B1是等级。如果我在A2写销售部、B2写A意思是筛选销售部并且等级A的记录。如果我把销售部A写在第二行技术部B写在第三行那就是销售部A 或者 技术部B两个条件并列。把这个能力用到判重上假设你要找某部门内名称重复的客户可以先在条件区写好部门名然后在勾选选择不重复的记录的前提下筛选出该部门的客户清单再对这个清单做一次COUNTIF判重。这样能大幅缩小计算范围几万行的表也能跑得动。这种先缩小范围再判重的思路在处理大表时比一上来就全表跑公式高效得多。还有个小技巧条件名写好后如果要在同一个字段上写多个条件值比如找出A部门和B部门的记录把字段名复制成多列每列下面写一个值同一行排开这样就是或的关系比竖着写更整齐。这个写法在做多值筛选时很省事。注意条件区域的标题行和数据区域的标题行必须完全一致多一个空格、少一个标点Excel就认不出来会给出筛选结果为空的提示。复制标题过来最保险别手打。4.3 它的适用边界高级筛选的优势在于不写公式、结果独立、可重复调用。你把条件区域保存好下次数据更新了重新跑一遍就行适合做成固定的周期性任务比如每周从系统导出客户名单去重后导入另一个系统。而且它支持把筛选结果直接输出到新工作表不留痕迹地完成搬运。它的短板也很清楚。第一它只能输出唯一值清单没法直接告诉你哪几行是重复的因为重复的行已经被丢弃了。想要对比原始数据找出被删掉的部分还得用别的办法。第二它不做计数你不知道某个值原本出现了几次。第三条件区域的写法需要一点学习成本尤其是多条件组合的时候行与列的关系容易搞混第一次用的人几乎都要试错几次。我的用法是把它当成数据搬运环节的工具而不是分析环节的工具。分析阶段用COUNTIF看清楚情况确认无误之后再用高级筛选把干净的数据搬到新表。这两个方法配合比单一方法稳妥得多。5. 方法四删除重复项与数据透视表从查到清的闭环5.1 删除重复项的机制与不可逆风险删除重复项在数据选项卡里图标是两个并排的表格加一个叉。它的操作很直接选中数据区域点它弹窗里勾选你要按哪些列判断重复确定Excel就会把重复的行物理删除只留下第一条。这个功能最大的特点是不可逆。虽然可以按CtrlZ撤销但只要你在删除之后又做了任何其他操作撤销链就断了数据找不回来。我见过不止一次有人删完发现删错了又没有备份只能重新导数据。所以我的硬性规矩是执行前必须先复制一份原始表命名清楚放在同一个工作簿里或者另存一个文件反正得留个退路。弹窗里那几个复选框值得琢磨。默认是全选的意思是所有列都相同才算重复。如果你只勾选其中一两列比如只勾订单号那就是按订单号判重其他列的差异会被忽略。这个设定很关键用对了能省事用错了会误删。比如一张订单明细表一个订单号下有五条商品记录你勾了订单号去删重结果只剩一条商品其他四条全没了。这种错误在业务数据里杀伤力极大。还有一个细节删除重复项会保留第一次出现的记录这个第一次是按行号从上往下算的。所以如果数据是从旧到新排列的保留的就是最早那条如果顺序是乱的保留哪条就说不准了。需要保留特定记录比如最新那条的话得先排序再删或者干脆用公式标记、手动删。5.2 数据透视表计数法既能看次数又能分组数据透视表是我在处理大体量数据时最常用的判重手段原因是它同时给出了有哪些值和各出现几次两个信息而且几乎不受行数限制。操作上选中数据区域插入数据透视表把要判重的字段拖到行区域再把同一个字段拖到值区域。默认情况下数值字段会做求和你需要点一下值区域的字段把计算方式改成计数。这时候每一行就是某个值出现了几次直接看计数列大于1的就是重复项。这个方法的优势在于灵活。你可以拖多个字段到行区域形成多级分组比如部门姓名看每个部门下有没有重名可以在值区域放其他字段做交叉统计比如同时看出现次数和金额合计判断重复记录是不是也带来了重复金额还可以加筛选器只看某个时间段的数据。这些操作全部靠拖拽完成不用写一个公式。数据量大的时候透视表的性能也明显优于COUNTIF。十万行的表COUNTIF辅助列可能要算十几秒甚至更久透视表通常几秒钟就出来了。所以我的习惯是数据量超过五万行直接开透视表别跟公式较劲。5.3 一套完整的查—核—清流程实际工作中我很少只用一种方法通常是把它们串起来用。分享一下我处理一张陌生脏表的完整流程。第一步先备份。复制整张表到新sheet命名带日期。这一步不能省。第二步用条件格式快速扫一眼看哪些列有重复、大概什么规模。这一眼能帮你判断后面的工作量。第三步用COUNTIF做精确标记在辅助列算出每行的出现次数并把大于1的筛出来这时候你能清楚看到重复的具体是哪几行、涉及哪些字段。第四步人工核对样本抽几条重复记录看看确认它们是真的重复而不是业务上合法的重复比如同一客户下了两单。第五步决定处理方式如果是脏数据用删除重复项清掉清之前再备份一次如果是业务上合法的重复就用辅助列打标签保留原样。这个流程里第四步是最容易被跳过、也最不该跳过的。机器判断相同的逻辑很简单但业务上的重复往往有额外条件。比如同一手机号注册了两个账号可能是家人共用也可能是恶意刷单直接删掉一个可能会误伤。所以我的原则是先用工具找出候选再用人脑做判断最后才动手清理。工具负责效率人负责准确。6. 常见问题与排查实录6.1 明明看着一样为什么判不出来这是被问得最多的一类问题表现形式是两行数据肉眼看上去完全相同但条件格式不标红、COUNTIF算出来是1死活认不出重复。九成以上的原因是看不见的字符差异。最常见的是前后空格。从网页、PDF、其他系统复制过来的数据经常带首尾空格显示上完全看不出来但比较时就是不同的字符串。排查办法是在旁边加一列LEN(A2)看长度对不对如果明显偏长就是有空格。处理办法是用TRIM清洗在辅助列写TRIM(A2)把首尾空格去掉中间的连续空格会被压成一个然后把清洗后的列复制用选择性粘贴—数值覆盖回原列。第二种是不可见字符比如换行符、制表符、非打印字符这些是TRIM处理不掉的得用CLEAN。实际用法是TRIM(CLEAN(A2))两个函数套着用能干掉绝大多数脏字符。如果CLEAN也搞不定那可能是全角空格或者特殊符号得用SUBSTITUTE定点替换比如SUBSTITUTE(A2,CHAR(160),)去掉不间断空格。第三种是全角半角混用。中文输入法下打出来的括号、逗号、数字是全角的和半角字符在计算机眼里是两个不同的东西。这种情况可以用SUBSTITUTE批量替换或者干脆重新录入。我一般的建议是判重前先统一用半角尤其是编号、代码这类字段。6.2 大小写与格式差异的处理大小写的问题前面提过一嘴这里说透。Excel的绝大多数比较函数包括COUNTIF、条件格式、等于号都不区分大小写ABC和abc会被当成同一个值。如果你的业务需要区分比如区分大小写的产品代码那就得用EXACT函数EXACT(A2,B2)返回TRUE表示完全相同含大小写FALSE表示不同。这个函数可以套进SUMPRODUCT里做整列比较但写起来比较绕一般只在确实需要严格区分时才用。格式差异主要指文本型数字和数值型数字。表现是A列看着是100B列看着也是100但一个左对齐一个右对齐文本默认左对齐数值默认右对齐COUNTIF统计出来是0。排查时看对齐方式就能快速判断。解决方法是把整列转成统一类型选中列用数据—分列直接点完成Excel会重新识别类型或者复制一个空单元格选中目标列选择性粘贴—加能把文本型数字强制转成数值。还有一种情况是日期格式不统一。有的是2024-01-01有的是2024/1/1显示不同但底层值可能相同也可能真的不同。判断日期是否重复最稳妥的办法是先统一格式或者用DATEVALUE转换后再比较。6.3 大数据量下的卡顿与替代思路表格一旦超过几万行很多人会发现Excel开始转圈条件格式滚动卡、COUNTIF填充要等半天。这不是电脑不行是方法选错了。COUNTIF的复杂度是平方级的一万行要算一亿次比较五万行就是二十五亿次慢是必然的。这时候有几个替代思路。一是排序后比较相邻行把数据按判重字段排序然后加一列IF(A2A1,重复,)只需比较相邻两行计算量降为线性速度极快。缺点是只能标出与上一行相同的记录如果同一个值分散在多处、排序后又聚在一起这个方法完全够用但如果还需要知道总次数就不行了。二是用透视表代替公式前面已经说过性能优势明显。三是把数据导入Power Query做分组按判重字段分组计数再把计数大于1的筛出来。Power Query的好处是处理过程可保存、可刷新数据更新了点点刷新就重跑一遍适合做成周期性任务。缺点是学习曲线比函数陡一些第一次用要花点时间熟悉界面。还有一个很实用的小技巧处理大表时先把不需要的列删掉或者隐藏只留判重相关的几列。列数减少后无论是条件格式还是公式计算速度都会明显提升。我处理十万行的订单表时通常先把表压到三四列再动手等结论出来了再回原表处理。6.4 常见问题速查表把上面这些情况整理成一张表遇到问题按症状查能省不少时间。症状表现最可能的原因排查方法处理办法看着一样但判不出重复首尾空格LEN()看长度TRIM清洗后覆盖清洗后仍判不出不可见字符用CLEAN处理后对比TRIM(CLEAN())组合数字相同但统计为0文本型与数值型混用看单元格对齐方向分列或选择性粘贴转换长编号被判成重复超过15位截断对比前15位是否相同用SUMPRODUCT或加*含星号问号的数据误判通配符生效看数据里有无* ? ~改用SUMPRODUCT精确比较大小写不同被判重复默认不区分大小写用EXACT验证需要区分时改用EXACT方案空白单元格被标红空值参与比较观察标红位置排除空白区域或先筛掉空行大表操作卡顿公式复杂度过高看行数和列数改排序法或透视表6.5 几个我踩过坑才记住的经验第一条经验判重前先统一格式比事后补救省十倍力气。我现在拿到任何外部数据第一件事不是看内容而是全选、分列、统一成常规格式把文本型数字和空格一次性清掉。这一步花两分钟能避免后面所有的为什么判不出来。第二条辅助列永远保留别急着删。很多人算完COUNTIF看到结果就把辅助列删了觉得表干净。结果过两天领导问这个重复是怎么判断的又得重算一遍。我的做法是把辅助列改个清楚的名字比如重复次数_订单号放在最右边等整个项目结束了再决定删不删。第三条删除类操作一律先备份没有例外。不管是删除重复项还是手动删行养成先复制的习惯。这个习惯救过我很多次尤其是处理别人给的表你永远不知道里面有没有业务上不能删的记录。第四条工具给出的是候选不是结论。Excel能告诉你哪两行长得一样但它不知道这两行在业务上该不该合并。判重只是数据清洗的第一步后面的人工核对才是决定质量的关键。我见过太多人直接把删除重复项的结果当最终数据用结果丢了关键明细返工的成本远高于当初多花十分钟核对。第五条多方法交叉验证。重要的数据处理我一般会用两种方法各跑一遍看结果是否一致。比如条件格式标出来的数量和COUNTIF算出来大于1的行数对不对得上。对不上就说明中间有格式或字符的坑得先排查。这个习惯能抓出绝大多数隐蔽错误尤其是那种大部分对、个别错的情况单看一种方法根本发现不了。最后分享一个我常用的小组合先用条件格式快速扫一遍全表确认脏数据的分布再用COUNTIF加辅助列算出精确次数筛出大于1的行复制到新sheet做人工核对确认无误后回原表用删除重复项清理清理前再备份一次。这一套下来几千行的表十几分钟能处理完而且每一步都有据可查出了问题也能回溯到具体环节。数据这活儿快不是本事可复现、可追溯才是。