如何刪除重複的行並僅在Excel中保留最高值?
例如,您在Excel中有一個購買表,作為顯示的第一個屏幕截圖。 現在,您需要根據“水果”列刪除重複的行,並將相應水果的最高值保留在“數量”列中,如第二個屏幕截圖所示。 您能想到什麼解決方案嗎? 本文將分享兩個技巧來解決它。
刪除重複的行並僅使用Kutools for Excel保持最大值
根據一列中的條件輕鬆刪除重複的行,僅在Excel中保留最高的值
Kutools for Excel的 高級合併行 實用程序可以幫助Excel用戶輕鬆地輕鬆找出另一列中每個項目的最小值的最大值。
該高級組合行實用程序還可以按指定標記組合行和單獨的值,或組合行併計算其總和,出現次數,最大值/最小值,平均值等。
刪除重複的行並僅使用VBA保留最高值
假設您有一個表格,如下所示。 並且此方法將引入VBA宏,以刪除基於某一列的重複行,並僅在Excel的另一列中保留最大值。 請執行以下操作:
1。 按 其他 + F11 同時按下鍵以打開“ Microsoft Visual Basic for Applications”窗口。
2。 點擊 插入 > 模塊,然後將以下代碼粘貼到新打開的“模塊”窗口中。
VBA:刪除重複的行並保持最大值
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:", "Kutools for Excel", 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 鍵或單擊 跑 按鈕以運行此VBA。
4.現在出現一個對話框。 請選擇要刪除重複行並保留其中最高值的列,然後單擊 OK 按鈕。
在本例中,我們將按“水果列”刪除重複的行,並在“數量列”中保留最高的值,因此,如圖所示,我選擇了“水果”列和“數量”列。
然後,您將看到根據“水果”列刪除了重複的行,並將相應水果的最大值保留在“數量”列中。 看截圖:
筆記:
(1)指定範圍必須以刪除重複行所依據的列開頭。
(2)此VBA只能在刪除重複行所依據的列後面保留該列中的最大值。
(3)此VBA在Microsoft Excel 2007中不起作用。
刪除重複的行並僅使用Kutools for Excel保持最大值
對於某些用戶而言,上面的VBA可能還不夠容易,並且只能將最高值保留在“標準”列後面。 但是Kutools for Excel的 高級合併行 實用程序將幫助您輕鬆輕鬆地解決此問題。
Excel的Kutools - 包含 300 多個 Excel 基本工具。 享受全功能 30 天免費試用,無需信用卡! 現在下載!
1.選擇要刪除重複行並保留最大值的表(在本例中選擇A1:C24),然後單擊 庫工具 > 內容 > 高級合併行.
2.在打開的“基於列合併行”對話框中,請進行以下配置:
(1)選擇“水果”列(將刪除重複的行),然後單擊“ 首要的關鍵 按鈕;
(2)選擇“金額”列(將保留最高值),然後單擊“確定”。 計算 > Max.
(3)根據需要為其他列指定組合規則。
3。 點擊 Ok 按鈕。 然後,您將看到根據“水果”列刪除所有重複的行,並且“數量”列中僅保留了對應水果的最大值。 看截圖:
高級合併行 Kutools for Excel實用程序可以輕鬆地按一列合併行,然後也可以基於此列計算其他列,例如Sum,Count,Max,Min,Product等。 點擊免費試用60天,沒有限制!
演示:刪除重複的行並僅在Excel中保留最大值
最佳辦公生產力工具
🤖 | Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行 | 生成代碼 | 建立自訂公式 | 分析數據並產生圖表 | 呼叫 Kutools 函數... |
熱門特色: 尋找、突出顯示或識別重複項 | 刪除空白行 | 合併列或儲存格而不遺失數據 | 沒有公式的回合 ... | |
超級查詢: 多條件VLookup | 多值VLookup | 跨多個工作表的 VLookup | 模糊查詢 .... | |
高級下拉列表: 快速建立下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
欄目經理: 新增特定數量的列 | 移動列 | 切換隱藏列的可見性狀態 | 比較範圍和列 ... | |
特色功能: 網格焦點 | 設計圖 | 大方程式酒吧 | 工作簿和工作表管理器 | 資源庫 (自動文字) | 日期選擇器 | 合併工作表 | 加密/解密單元格 | 按清單發送電子郵件 | 超級濾鏡 | 特殊過濾器 (過濾粗體/斜體/刪除線...)... | |
前 15 個工具集: 12 文本 工具 (添加文本, 刪除字符,...) | 50+ 圖表 類型 (甘特圖,...) | 40+ 實用 公式 (根據生日計算年齡,...) | 19 插入 工具 (插入二維碼, 從路徑插入圖片,...) | 12 轉化 工具 (數字到單詞, 貨幣兌換,...) | 7 合併與拆分 工具 (高級合併行, 分裂細胞,...) | ... 和更多 |
使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。 點擊此處獲取您最需要的功能...
Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆
- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!