Hur tar man bort dubbla rader och behåller högsta värden endast i Excel?
Till exempel har du en inköpstabell i Excel som den första skärmdumpen som visas. Nu måste du ta bort dubbla rader baserat på fruktkolumnen och behålla de högsta värdena för motsvarande frukter i kolumnen Mängd som den andra skärmdumpen som visas. Någon lösning kan du tänka på? Denna artikel kommer att dela två knep för att lösa det.
Ta bort dubbla rader och behåll högsta värden endast med VBA
Ta bort dubbla rader och behåll högsta värden endast med Kutools för Excel
Ta enkelt bort dubbla rader baserat på kriterier i en kolumn och behåll bara de högsta värdena i Excel
Kutools för Excel Avancerade kombinera rader verktyget kan hjälpa Excel-användare att snabbt ta reda på det maximala värdet av minimivärdet för varje objekt i en annan kolumn med lätthet.
Detta avancerade kombinationsradsverktyg kan också kombinera rader och separera värden med angivna märken, eller kombinera rader och beräkna deras summor, antal förekomster, högsta / lägsta värden, medelvärden etc.
Ta bort dubbla rader och behåll högsta värden endast med VBA
Antar att du har en tabell som visas nedan. Och den här metoden introducerar ett VBA-makro för att ta bort dubbla rader baserat på en viss kolumn och behålla högsta värden bara i en annan kolumn i Excel. Gör så här:
1. tryck på andra + F11 samtidigt för att öppna Microsoft Visual Basic for Applications-fönstret.
2. klick Insert > Modulernaoch klistra in följande kod i nytt öppningsmodulfönster.
VBA: Ta bort dubbla rader och behåll högsta värden
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. tryck på F5 eller klicka på Körning för att köra denna VBA.
4. Nu kommer en dialogruta ut. Välj de kolumner du tar bort dubbletterader med och reservera högsta värden i och klicka på OK knapp.
I vårt fall tar vi bort dubbla rader efter fruktkolumn och håller högsta värden i mängdkolumn, därför väljer jag fruktkolumnen och kolumnen Mängd som ovanstående skärmdump.
Då ser du dubbla rader tas bort baserat på kolumnen Frukt och högsta värden för motsvarande frukter hålls i kolumnen Mängd. Se skärmdump:
Anmärkningar:
(1) Det angivna intervallet måste börja med den kolumn du tar bort dubblerade rader med.
(2) Denna VBA kan bara hålla de högsta värdena i kolumnen strax bakom kolumnen du tog bort dubbletter av.
(3) Denna VBA fungerar inte i Microsoft Excel 2007.
Ta bort dubbla rader och behåll högsta värden endast med Kutools för Excel
Ovanstående VBA kanske inte är tillräckligt lätt för vissa användare, och det kan bara hålla högsta värden i kolumnen bakom kriteriekolumnen. Men Kutools för Excel Avancerade kombinera rader verktyget hjälper dig att enkelt lösa problemet enkelt.
Kutools för Excel - Fullpackad med över 300 viktiga verktyg för Excel. Njut av en fullfjädrad 30-dagars GRATIS provperiod utan behov av kreditkort! Ladda ner nu!
1. Välj den tabell som du tar bort dubbla rader och behåll högsta värden (välj A1: C24 i vårt fall) och klicka Kutools > Innehåll > Avancerade kombinera rader.
2. I den öppna dialogrutan Kombinera rader baserat på kolumn, konfigurera följande:
(1) Välj Fruktkolumn (som du tar bort dubbletterader med) och klicka sedan på Primärnyckel knapp;
(2) Välj kolumnen Belopp (som du kommer att behålla högsta värden i) och klicka sedan på Beräkna > Max.
(3) Ange kombinationsregler för andra kolumner efter behov.
3. Klicka på Ok knapp. Och då kommer du att se alla dubbla rader tas bort baserat på fruktkolumnen och endast maxvärden för motsvarande frukter hålls i kolumnen Mängd. Se skärmdump:
Smakämnen Avancerade kombinera rader verktyget av Kutools för Excel kan enkelt kombinera rader med en kolumn och sedan beräkna andra kolumner baserat på de här kolumnerna, till exempel Sum, Count, Max, Min, Product, etc. Klicka för 60-dagars gratis testperiod, ingen begränsning!
Demo: ta bort dubbla rader och behåll högsta värden endast i Excel
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!