【问题标题】:excel duplicate values pairs in multiple columnexcel多列中的重复值对
【发布时间】:2013-05-25 06:41:35
【问题描述】:

有没有办法在 Excel 的多列中查找重复对?

例如,

column1       column2  

Smith         Jones       <-- duplicate pair  
Smith         Johnson  
Jones         Smith       <-- duplicate pair  
Jones         Walter  

【问题讨论】:

    标签: excel duplicates


    【解决方案1】:

    我会这样做的方式如下: (假设您的数据从单元格 A1 和 B1 开始)

    • 在C1中,输入公式:=A1&amp;"|"&amp;B1
    • 在D1中,输入公式:=B1&amp;"|"&amp;A1
    • 在E1中,输入公式:=MATCH(C1,$D$1:$D$500,0)
    • 将所有这些下拉到您的数据集(如有必要,更改最终公式中的 $500
    • E 列有数字的任何地方都表示数据重复 - 您甚至可以过滤除 #N/A 以外的任何内容,它会告诉您重复匹配项在列表中的哪个位置。

    希望这会有所帮助!

    【讨论】:

    • 你的逻辑不会说这对 ("ABC", "DEF") 匹配 ("AB", "CDEF") 然后...或 ("ABC", "DEF")匹配(“CDEF”、“AB”)?
    • 是的 - 你是对的,我更新了我的答案以纠正这个问题......很好!
    【解决方案2】:

    如果您希望单列表示此类型的重复项,则可以使用以下公式:

    =SUMPRODUCT((CONCATENATE($A$1:$A$500,"^",$B$1:$B$500)=CONCATENATE(B1,"^",A1))*1)
    

    这将为您提供表中类型的重复项的数量。您可以对那里的所有非零值应用过滤器。如果需要,只需更改$A$1:$A$500$B$1:$B$500 的范围。这取决于您的桌子的大小。

    或者,如果您想使用条件格式进行任何更改,您可以选择 A 列和 B 列,点击“条件格式”、“新规则”、“使用公式确定要格式化的单元格”,粘贴公式:

    =SUMPRODUCT((CONCATENATE($A$1:$A$500,"^",$B$1:$B$500)=CONCATENATE(B1,"^",A1))*1)&gt;0

    然后从“格式...”按钮中选择一种格式(我通常选择“填充”并选择黄色),这将突出显示 B 列中的重复项。

    【讨论】:

      【解决方案3】:

      我首先通过连接 Column 的 1 和 2 的排序值(以及中间的空格)来创建一个列。然后我会在该列中查找重复项。以下应该做到这一点:

      1. 在 C1 中,=IF(A1
      2. 在 D1 中,=COUNTIF($C$1:$C$999,C1)>1

      然后将单元格 C1D1 一直复制到电子表格的下方。 D 列应包含 TRUE 用于任何重复的对。

      编辑:更改了分隔符(仍然不是万无一失,但更好)

      【讨论】:

      • 我会使用不同的分隔符来代替空格。虽然像“John, Doe Smith”和“Smith, John Doe”这样的情况很少见,但这并非不可能,我认为最好使用名称中不常见的字符:)
      • @Jerry:好电话。我从来没有考虑过多个名字。我认为任意数据的“理想”解决方案是以某种方式对每个名称进行编码,转义一个特殊字符,然后使用该特殊字符作为分隔符。
      猜你喜欢
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-17
      • 2019-03-25
      相关资源
      最近更新 更多