首页 > 解决方案 > 如果整个值包含在当前行中,则 Excel 删除上一行,并且 A 列以前的值也相同

问题描述

我有一个计算机和用户列表。

例子:

我只需要为每台计算机保留最大的行,这样我就不必拥有Computer1withuser1我只有computer1with user1,user2

标签: excelexcel-formula

解决方案


您可以使用match来测试下面所有单元格的错误,然后将其用作True/False结果。这是我建立的一个公式: =IF(ISERROR(MATCH(A2,A3:A$999999,0)),"Use Me","ignore")

在此处输入图像描述

如果您想删除它们,此宏也可以使用:

Sub KillRows()
Dim ws As Worksheet: Set ws = ActiveSheet

    Dim killRNG As Range
    Set killRNG = ws.Rows(Rows.Count)

    Dim i As Long
    For i = 1 To ws.UsedRange.Rows.Count

        If Application.WorksheetFunction.CountIf(Range(ws.Cells(i + 1, 1), ws.Cells(Rows.Count, 1)), ws.Cells(i, 1)) > 0 Then
            Set killRNG = Union(killRNG, ws.Rows(i))
        End If
    Next i

    killRNG.EntireRow.Delete


End Sub

推荐阅读