在Excel中查找重复项

时间:2016-03-13 10:38:12

标签: excel duplicates conditional-formatting

我有一张Excel表格,其中包含有关1000人的信息。

目的是一种方法,允许根据select列选择包含相同信息的所有行

在Excel中给出以下信息:

Code   first-Nam   Last-Nam   Date           Room
01     Jack        Ben        01-01-1995     01
02     Merry       ley        12-02-1994     09
03     jack        Ben        01-01-1995     08
04     Merry       nadia      12-11-1991     02
  • 仅基于列包含:First-Nam,Last-Nam和Date。

所选择的"行"需要:

Code   first-Nam   Last-Nam   Date           Room
0100   Jack        Ben        01-01-1995     01
1002   jack        Ben        01-01-1995     08

复制通常不是基于一个名称或一个日期。

2 个答案:

答案 0 :(得分:3)

以下是将数据用作表格(以便列引用易于动态化)和带公式标准的高级过滤器的示例。您不必使用表格,但如果不这样做,请务必使用列的绝对引用。

我们使用公式作为标准。

A2: =COUNTIF(Table1[first-Nam],B7)>1
B2: =COUNTIF(Table1[Last-Nam],C7)>1
C2: =COUNTIF(Table1[Date],D7)>1

这里有一些屏幕截图,在

之前和之后

enter image description here

enter image description here

enter image description here

答案 1 :(得分:1)

使用快速Conditional Formatting规则识别重复项。使用应用的回填颜色作为Range.AutoFilter Method操作中的条件。

Sub filterDupes()
    With Worksheets("Sheet1")
        If .AutoFilterMode Then .AutoFilterMode = False
        With .Cells(1, 1).CurrentRegion
            With .Resize(.Rows.Count - 1, 3).Offset(1, 1)
                .FormatConditions.Delete
                .FormatConditions.Add Type:=xlExpression, Formula1:= _
                    "=AND(COUNTIFS($B:$B, $B2,$C:$C, $C2,$D:$D, $D2)-1)"
                .FormatConditions(1).Interior.Color = vbRed
            End With
            With .Columns(2)
                .AutoFilter Field:=1, Criteria1:=vbRed, _
                            Operator:=xlFilterCellColor, _
                            VisibleDropDown:=False  '<~~ turns off showing the dropdown arrow
            End With
        End With
    End With
End Sub

使用CR规则中的颜色类似于添加“帮助程序”列,用于标识重复项而不更改工作表结构。

在filterDupes()

之前

color_remove_duplicates_before
Sample data 应用了条件格式规则的

color_remove_duplicates_during
Sample data

filterDupes()之后的

color_remove_duplicates_after
Sample data