Hvordan fjernes dublerede rækker og kun holder de højeste værdier i Excel?
For eksempel har du en købstabel i Excel som det første skærmbillede, der vises. Nu skal du fjerne duplikerede rækker baseret på frugtkolonnen og beholde de højeste værdier for tilsvarende frugter i kolonnen Mængde som det andet skærmbillede, der vises. Hvilken løsning kan du tænke på? Denne artikel deler to tricks til at løse det.
Fjern duplikerede rækker, og hold kun de højeste værdier med VBA
Fjern duplikerede rækker, og hold kun de højeste værdier med Kutools til Excel
Fjern let duplikatrækker baseret på kriterier i en kolonne, og hold kun de højeste værdier i Excel
Kutools til Excel Avancerede kombinere rækker hjælpeprogram kan hjælpe Excel-brugere hurtigt med at finde ud af den maksimale værdi af minimumsværdien for hvert element i en anden kolonne.
Dette avancerede kombinationsrækkefunktion kan også kombinere rækker og adskille værdier efter specificerede mærker eller kombinere rækker og beregne deres summer, antal forekomster, maksimum / minimumsværdier, gennemsnit osv.
Fjern duplikerede rækker, og hold kun de højeste værdier med VBA
Antag at du har en tabel som vist nedenstående skærmbillede. Og denne metode introducerer en VBA-makro for at fjerne duplikatrækker baseret på en bestemt kolonne og kun holde de højeste værdier i en anden kolonne i Excel. Gør følgende:
1. Tryk på andre + F11 taster samtidigt for at åbne vinduet Microsoft Visual Basic til applikationer.
2. klik indsatte > Moduler, og indsæt følgende kode i det nye åbningsmodulvindue.
VBA: Fjern dublerede rækker, og hold de højeste værdier
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. Tryk på F5 eller klik på Kør knap for at køre denne VBA.
4. Nu kommer en dialogboks ud. Vælg de kolonner, du vil fjerne dubletterækker efter, og reserver de højeste værdier i, og klik på OK .
I vores tilfælde fjerner vi duplikerede rækker efter frugtkolonne og holder de højeste værdier i mængdekolonne, derfor vælger jeg frugtkolonnen og mængdekolonnen som vist ovenstående skærmbillede.
Derefter vil du se, at duplikatrækker fjernes baseret på frugtkolonnen, og de højeste værdier for tilsvarende frugter holdes i kolonnen Mængde. Se skærmbillede:
Noter:
(1) Det angivne interval skal begynde med den kolonne, du vil fjerne duplikerede rækker med.
(2) Denne VBA kan kun beholde de højeste værdier i kolonnen lige bag den kolonne, du fjernede dubletter med.
(3) Denne VBA fungerer ikke i Microsoft Excel 2007.
Fjern duplikerede rækker, og hold kun de højeste værdier med Kutools til Excel
Ovenstående VBA er muligvis ikke let nok for nogle brugere, og det kan kun holde de højeste værdier i kolonnen bag kriteriekolonnen. Men Kutools til Excel Avancerede kombinere rækker hjælpeprogram hjælper dig med nemt at løse dette problem let.
Kutools til Excel - Pakket med over 300 vigtige værktøjer til Excel. Nyd en 30-dages GRATIS prøveperiode uden behov for kreditkort! Download nu!
1. Vælg den tabel, du vil fjerne dubletter, og hold de højeste værdier (vælg A1: C24 i vores tilfælde), og klik Kutools > Indhold > Avancerede kombinere rækker.
2. I den åbne dialogboks Kombiner rækker baseret på kolonne skal du konfigurere som følger:
(1) Vælg Frugtsøjle (som du vil fjerne dubletter af rækker efter), og klik derefter på Primærnøgle knap;
(2) Vælg kolonnen Beløb (som du vil beholde de højeste værdier i), og klik derefter på Beregn > max.
(3) Angiv kombinationsregler for andre kolonner efter behov.
3. Klik på Ok knap. Og så vil du se, at alle duplikatrækker fjernes baseret på frugtkolonnen, og kun maksimale værdier for tilsvarende frugter holdes i mængdekolonnen. Se skærmbillede:
Avancerede kombinere rækker nytten af Kutools til Excel kan nemt kombinere rækker med en kolonne og derefter beregne andre kolonner også baseret på disse kolonner, såsom Sum, Count, Max, Min, Product osv. Klik for 60-dages gratis prøveperiode, ingen begrænsning!
Demo: Fjern dublerede rækker, og hold kun de højeste værdier i Excel
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!