如何在Excel中删除重复行并保留最高值
数百万用户依靠功能强大的电子表格程序Excel进行各种数据管理活动。处理数据集中的重复行是Excel用户经常遇到的问题。数据录入错误、从不同来源导入数据或合并数据集都可能导致重复行。
在本教程中,我们将为您介绍从Excel电子表格中删除重复行并仅保留最高值的步骤。这样可以确保数据正确无误且组织良好,即在存在重复行的情况下,我们将仅保留相关列中具有最大值的行。
删除重复行并保留最高值
在这里,我们首先将创建一个VBA模块,然后运行它以完成任务。因此,让我们看看一个简单的过程,了解您如何在Excel中删除重复行并仅保留最高值。
步骤1
考虑一个包含有一列中不同值的重复行的Excel表格,类似于下面的图像。
首先,右键单击工作表名称,然后选择“查看代码”以打开VBA应用程序。
步骤2
然后单击“插入”并选择“模块”,然后将下面的代码复制到文本框中。
插入 > 模块 > 复制。
代码
Public Sub DelDupes()
Dim xFilterRg As Range
Dim xCriteriaRg As Range
Dim xAddress As String
Dim xSUpdate As Boolean
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xFilterRg = Application.InputBox("Please select a range:", "Remove Duplicates Highest", xAddress, , , , , 8)
If xFilterRg Is Nothing Then Exit Sub
Set xFilterRg = Application.Intersect(ActiveSheet.UsedRange, xFilterRg)
If xFilterRg Is Nothing Then Exit Sub
On Error GoTo 0
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xCriteriaRg = ActiveSheet.Cells(1, xFilterRg.Column + xFilterRg.Columns.Count).Resize(2)
xCriteriaRg.Resize(1).Offset(1).Formula = "=COUNTIF(" & xFilterRg(2, 1).Address & ":" & _
xFilterRg(2, 1).Address(False, False) & "," & _
xFilterRg(2, 1).Address(False, False) & ")>1"
With xFilterRg
.Sort key1:=xFilterRg.Cells(1, 1).Offset(0, 1), order1:=xlDescending, Header:=xlYes
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=xCriteriaRg
.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.Parent.ShowAllData
End With
xCriteriaRg.Clear
Application.ScreenUpdating = xSUpdate
End Sub
第三步
然后点击F5来运行模块。然后选择你要根据去除重复项的列,并点击确定。
这就是在Excel中如何删除重复行并保留最高值的方法。
结论
在本教程中,我们使用了一个简单的例子来演示如何在Excel中去除重复行并仅保留最高值,以突出显示特定的数据集。