Excel:根据 A 列中的数据,删除 B 列中重复的行

Excel:根据 A 列中的数据,删除 B 列中重复的行

我需要在 B 列中查找重复项;然后如果 A 列中的值为数字 4,则删除整行。有些行需要保留,并且 A 列中的值为“4”。

A  B
1, John
4, John
1, Mary
4, Mary
1, Aaron
1, Scott
4, Jeff
4, Bob

当我完成后应该看起来像这样:

A  B
1, John
1, Mary
1, Aaron
1, Scott
4, Jeff
4, Bob

答案1

试试这个。请注意,您需要更改工作表名称和左上角单元格地址以匹配您的数据。

Sub RemoveRows()
    Dim rng1 As Range, sht1 As Worksheet
    Dim iRow As Long

    'Change sheet name and top-left cell address to match your data.
    Set sht1 = Sheets("Sheet1")
    Set rng1 = sht1.Range("A1")

    For iRow = rng1.End(xlDown).Row To rng1.Row Step -1
        If Cells(iRow, 1) = 4 Then
            If Application.WorksheetFunction.CountIf(rng1.Resize(rng1.End(xlDown).Row, 1).Offset(0, 1), Cells(iRow, 2)) > 1 Then
                Cells(iRow, 1).EntireRow.Delete
            End If
        End If
    Next iRow
End Sub

答案2

通过辅助列和数据透视表,我能够得到您想要的结果。我假设 A 列中的值只能是 1 或 4。(也许这是一个错误的假设???)

在 C1 中,我输入了一个列名“nameID”。

在 C2 中,我输入了值 1。

在 C3 中,我输入了这个公式并将其一直复制下来:

 =IF(B3=B2,C2,C2+1) 

接下来,我对 A:C 列中的数据进行了透视,并选择“a”的“最小值”选项:

最后,在数据透视表旁边,我写下了这个连接公式,假设第一个数据透视表单元格是 F3:

 =H3 & ", " & G3

也许这个截图可以帮助澄清。最终结果在 J 列:

在此处输入图片描述

相关内容