【问题标题】:How to highlight rows that have duplicate values in 2 or more columns如何突出显示在 2 列或更多列中具有重复值的行
【发布时间】:2017-09-08 05:09:22
【问题描述】:

我正在尝试找出如何最好地做到这一点。我有一张大约 44 列和大约 64,000 行的工作表。这些列具有不同的客户数据点,例如姓名、出生日期、电话号码和电子邮件(这些是与我的目的最相关的列)。我想知道如何对至少三列数据点匹配的行进行排序或突出显示,以显示客户的重复记录。为了解释清楚,我只想根据至少 3 列(名称列(常量)和电话号码、出生日期或电子邮件)突出显示重复的行。

例如:

在上面,John Smith 仅根据 DOB 进行匹配。 Lisa Winters 基于电子邮件,Stephanie wright 基于 DOB 和电子邮件。

现在我正在查看更多内容,我会将名字和姓氏合并到一列中,因此它只需要匹配 2 列或更多列而不是 3 列。

我在超级用户中发布,我得到的只是计数,这似乎是一个开始,但我似乎还需要合并“和,或”逻辑?

非常感谢任何有关特定公式的帮助!

【问题讨论】:

  • 使用删除重复项

标签: excel excel-formula duplicates


【解决方案1】:

只是为了比较,这将是数组类型的方法,但正如 @Luuklag 正确地说的那样,它可能会很慢,有 64K 行数据,尽管它确实给出了完整的结果

=SUMPRODUCT(($A2<>"")*($A2=$A$2:$A$10)*($B2=$B$2:B$10)*SIGN((($C2=$C$2:$C$10)+($D2=$D$2:$D$10)+($E2=$E$2:$E$10))))>1

因此,这会测试所有行以查看是否有多个行与姓氏、名字以及出生日期、电话和电子邮件之一的当前行一致,假设您的数据在前五列中并省略任何姓为空白的行。调整范围以适合。

这在 64K 行上太慢了。更好一点的是使用 SUMIFS

=(COUNTIFS($A$2:$A$64000,$A2,$B$2:$B$64000,$B2,$C$2:$C$64000,$C2)
+COUNTIFS($A$2:$A$64000,$A2,$B$2:$B$64000,$B2,$D$2:$D$64000,$D2)
+COUNTIFS($A$2:$A$64000,$A2,$B$2:$B$64000,$B2,$E$2:$E$64000,$E2))>3

【讨论】:

  • Tom,上面的公式适用于 64k 行,但它显示为 #VALUE!在完整的电子表格中以及当我复制下来时。我只需要等待还是公式有问题?我认为它无法处理 64k 行...
  • 是的,不幸的是,它对 64K 行不起作用(或者至少需要很长时间)——毕竟就像 100 亿次乘法一样。我已经尝试过 SUMIFS,所以对于姓氏、名字和出生日期,它将是 =COUNTIFS(A$2:A$64000,A2,B$2:B$64000,B2,C$2:C$64000,C2)>1 - 还不错你可以把它们结合起来。
  • 成功了!非常感谢汤姆,你的帮助!!!你是最棒的!
  • 谢谢!仍然有点慢,但它确实到达了那里。
【解决方案2】:

您应该按名称对数据进行排序。然后创建一个额外的帮助列,二进制指示它是否是重复的。

您可以简单地在 F2 中使用一个公式,例如:

=IF(AND($A2=$A1,$B2=$B1,OR($C2=$C1,$D2=$D1,$E2=$E1)),1,0)

这将为您在 F 列中根据名字和姓氏以及至少一个其他列与上述行重复的那些给出 1。这当然不是一个完全理想的情况,因为它并不总是显示重复。例如:

如果有 3 个具有相同名称的条目,并且第一个条目填充了所有其他字段。第二个条目只有姓名和电子邮件。并且被认为与第一个条目匹配。第三个条目只有名称和 DOB,不被视为与第二个条目匹配,因为只有名称匹配。

要避免这种情况,您需要使用 INDEX(MATCH()),但这会减轻您电脑的负担,特别是如果您要在 64K 条目上递归使用它。

【讨论】:

  • 谢谢 Luukag。我可以看到可能出现两个或多个同名的问题。现在我想多了,我可能只是连接列 a、b、c,然后对 dups 进行排序。然后对 a,b,d 和 a,b,e 执行相同的操作。然后将副本复制到新工作表。会很乏味,但它可能是最准确和最容易导航/理解的?
  • 或者你可以按照我的方法。然后复制粘贴我写的公式的,并以此为基础进行排序。将所有指示为重复的内容删除到另一张纸上,然后再次执行该过程。如果需要第三次以确保每个骗子都消失了。
猜你喜欢
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-02
  • 2018-09-19
相关资源
最近更新 更多