【问题标题】:Delete reciprocal duplicates in Excel删除 Excel 中的相互重复项
【发布时间】:2015-07-13 15:30:23
【问题描述】:

我正在尝试找到一种快速删除两列之间相互重复的方法。
例如,COG00035 在 A 列中,COG00065 在 B 列中。
我必须确保再往下看没有A:COG00065 & B: COG00035
我会手动执行此操作,但实际上我要查找数千行。并且必须删除整行,因为 A 和 B 必须保持在一起。谢谢!
如果您需要更好的示例,请告诉我。

【问题讨论】:

  • 可以接受 VBA 解决方案吗?

标签: excel duplicates


【解决方案1】:

您是否尝试过数据>删除重复项

您应该能够选择要包含在比较中的列。我假设在这种情况下你会检查你拥有的两个列,如果有重复的行匹配两个条目,那么它们将被删除。

the Office website 上的简短概述。

【讨论】:

  • 不幸的是,删除重复项不起作用。因为它们是相互重复的,所以 Excel 不会将它们视为重复。例如,一行是 A:COG00035 B:COG00065。但是,如果我发现一行显示 A:COG00065 B:COG00035,我需要将其删除,但根据顺序 Excel 不会将其视为重复。我使用连接来组合两列,然后使用第二个连接公式翻转列以显示倒数。
【解决方案2】:

两步流程:

1) 按相同顺序删除重复项

在 C 中添加第三列,结合前两列,或者:

=concatenate(A1, B1)

并将其一直拖到数据的末尾。然后,选择整个数据表(从 A1 一直到 C#,其中 # 是最后一行编号),转到 Data->Remove duplicates,然后在下一个弹出窗口中取消选择 A 列和 B 列(只有 C 列应该是选择)。

按“确定”- 这应该会删除在 C 列中有重复的任何行,这基本上意味着 A 列和 B 列是相同的。

2) 按倒数顺序删除重复项

添加第四列,以相反的顺序组合前两列,或者:

=concatenate(B1, A1)

在第五列中,添加一个公式,计算是否在 D 列中找到 C 列中的任何单个单元格,限制 D 列中该单个单元格所在行下方的区域。

例如:

C1 中的公式:=CONCATENATE(A1,B1)

D1 中的公式:=CONCATENATE(B1,A1)

E1 中的公式:=COUNTIF(D2:$D$100,C1)

...假设您的表格有 100 个单元格(例如,$D$100 是最后一行)。这将做的是在 E 列中为唯一的行显示 0,为重复的行显示 1。然后,您可以过滤列 E 以显示 1,然后删除所有可见单元格(主页 -> 查找和选择 -> 转到特殊... -> 仅可见单元格;Ctrl + - 删除行)

【讨论】:

  • 根据他的问题,你的公式不应该是=CONCATENATE(B1,A1)吗??
  • 她,顺序不重要
  • Gotcha - 在上面编辑了我的答案。让我知道这是否有效!尝试了示例文件,似乎没问题。
猜你喜欢
  • 2015-08-10
  • 1970-01-01
  • 2022-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
  • 1970-01-01
  • 2014-11-11
相关资源
最近更新 更多