在 Excel 中查找重复项

Find duplicates in Excel

我有一个 Excel sheet 包含大约 1000 人的信息。

目的是一种方法,允许 select 所有包含基于 select 列 S

的相同信息的行

鉴于 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

结果 selected "Rows" 需要:

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

一般情况下的重复,并非基于一个名字或一个日期。

通过快速 Conditional Formatting rule. Use the applied backfill color as the criteria in a 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 规则中的颜色类似于添加一个 'helper' 列来标识重复项而不改变工作表结构。


                 Sample data 在 filterDupes()

之前


                 Sample data 已应用条件格式规则


                 Sample data 在 filterDupes()

之后

这是一个使用您的数据作为 Table 的示例(这样列引用很容易动态化)和带有公式标准的高级过滤器。您不必使用 table,但如果不需要,请确保对列使用绝对引用。

我们使用公式作为标准。

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

这里有一些屏幕截图,之前和之后