0

我们有一个包含 120000 行数据的大型 Excel 文件,我们需要在其中查找重复记录。

第一个记录是与重复记录列表匹配的主记录。我们需要确认重复项是否属实并突出显示。

每条记录都有许多行,具体取决于文件中电子邮件地址的数量以及物理地址。

期望的结果是: 1. 如果主记录中的姓名与重复记录中的姓名匹配,则从主记录中找到与重复记录中的任何地址匹配的任何地址,或者将主记录中的电子邮件地址与重复记录中的任何地址匹配。重复记录中的电子邮件地址。然后在任一匹配项的重复列中输入“是”。

  1. 用一种颜色突出显示匹配的地址,用另一种颜色突出显示匹配的名称,用另一种颜色突出显示匹配的电子邮件地址。

可能发现了不止一个重复记录,这显示在 A 列中

如果名称不匹配,但其他所有内容都匹配,我们仍然想输入一个 NO,以便在浏览 excel 文档时进行手动检查。

这是 E 列中使用的公式。仅当主记录中的第一个地址在重复记录中匹配时才有效。如果它是匹配的主记录中的第二个地址,则它不起作用。

=IF(OR(C2&B2=B2,C2&B2=C2,D2&C2=D2, D2&C2=C2,B2="地址",C2="名称"),"",IF(SUM(--(C2&B2&D2=C:C&B: B&D:D))>1,"是","否"))

你能帮助修复公式并帮助突出显示重复项吗?

A            B                    C                       D                    E                            
Master   Addresses            Name                   Email address        Duplicate
255812   1 test rd Sydney     John Doe               john.doe@gmail.com   YES
         1 test rd Sydney                            john.doe@gmail.com 
         PO BOX 2 Sydney            

         Addresses            Name                   Email address  
421504   1 test rd Sydney     John Doe               john.doe@gmail.com   YES
Duplicate
records
found: 1                

Master  Addresses             Name                    Email address 
455444  1111 House rd Sydney  Steven Jacks            sjacks@gmail.com     NO
        134 Smart St Sydney         

        Addresses             Name                    Email address 
53421   134 Smart St Sydney   Steven Jacks            sjacks@gmail.com     NO
        1111 House rd Sydney                          stephenj@hotmail.com  
        Level 5, Kings St Syd                       
        134 Smart St Sydney         

        Addresses              Name                   Email address 
13232   Level 5, Kings St Syd  Steven R Jacks         stephenj@hotmail.com  NO

Duplicate
records 
found: 2
4

1 回答 1

0

详细说明我对您的问题的评论,这是一种“在继续查找重复项之前将您的文件标准化一点:

保存文件的原始排序顺序(F 列 - 无公式)

假设没有 Master 的附加地址超过 999 个,计算所有真实数据记录的 key 并保存为 value

G2及以下:=IF(ISNUMBER(A2);A2;IF(AND(A2="";AND(B2<>"";B2<>"Addresses");ISNUMBER(G1));G1+0,001;""))

H2 和 down: =G2,然后复制/粘贴为值

在此处输入图像描述

现在根据您的重复标准(按名称、地址)排序

然后添加一个 dup finder 公式,例如“如果此行键 = 上一个行键则此计数器 = 上一个计数器 + 1 否则此计数器 = 1”,例如

I2 及以下:=IF(ISNUMBER(H2);IF(AND(C2<>"";C2=C1;B2=B1);I1+1;1);"")

在此处输入图像描述

现在你可以

  • 过滤列 I 的所有值 > 1 以识别重复项。您只会在 1 test rd Sydney 找到 John Doe ...
  • 通过 KeyValue 列上的 VLOOKUP 将结果反馈到原始表
  • ETC ...

    并且我们没有考虑不同的拼写,例如缩写和大写字母、添加空格或标点符号(Rd vs Rd. vs road、Road、1 vs 1. vs 1.,)-名称中的中间首字母等.,所有这些都是清理地址文件的真正痛苦

您可以重复上述操作以获得不同的排序顺序(例如地址+名称)

请记住,在进行任何排序之前,您应该将公式转换为值!

现在......这一切听起来可能相当复杂......因此......如果这不是一次性的而是反复出现的练习,我会考虑VBA......

于 2013-11-06T11:01:58.533 回答