如何在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
步驟3
然後單擊F5執行模組。然後選擇您要根據其值刪除重複項的列,然後單擊“確定”。
這就是如何在Excel中刪除重複行並保留最高值的方法。
結論
在本教程中,我們使用了一個簡單的示例來演示如何在Excel中刪除重複行並僅保留最高值,以突出顯示特定資料集。
廣告