Come rimuovere le righe duplicate e mantenere solo i valori più alti in Excel?
Ad esempio, hai una tabella di acquisto in Excel come mostrato nella prima schermata. Ora devi rimuovere le righe duplicate in base alla colonna Frutta e mantenere i valori più alti dei frutti corrispondenti nella colonna Importo, come mostrato nella seconda schermata. Hai qualche soluzione da suggerire? Questo articolo condividerà due trucchi per risolvere il problema.
Rimuovi le righe duplicate e mantieni solo i valori più alti con VBA
Rimuovi le righe duplicate e mantieni solo i valori più alti con Kutools per Excel
Rimuovi le righe duplicate e mantieni solo i valori più alti con VBA
Supponiamo che tu abbia una tabella come mostrato nello screenshot sottostante. E questo metodo introdurrà una macro VBA per rimuovere le righe duplicate in base a una certa colonna e mantenere solo i valori più alti in un'altra colonna in Excel. Procedi come segue:
1. Premi contemporaneamente i tasti Alt + F11 per aprire la finestra Microsoft Visual Basic per Applicazioni.
2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella nuova finestra Modulo che si apre.
VBA: Rimuovi le righe duplicate e mantieni solo i valori più alti
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. Premi il tasto F5 o clicca sul pulsante Esegui per eseguire questa VBA.
4. Ora appare una finestra di dialogo. Seleziona le colonne in cui vuoi rimuovere le righe duplicate e mantenere i valori più alti, quindi clicca sul pulsante OK.
Nel nostro caso, rimuoveremo le righe duplicate in base alla colonna Frutta e manterremo i valori più alti nella colonna Importo, quindi seleziono la colonna Frutta e la colonna Importo come mostrato nello screenshot sopra.
Successivamente vedrai che le righe duplicate sono state rimosse in base alla colonna Frutta e i valori più alti delle frutta corrispondenti sono stati mantenuti nella colonna Importo. Vedi lo screenshot:
Note:
(1) L'intervallo specificato deve iniziare con la colonna in base alla quale rimuoverai le righe duplicate.
(2) Questa VBA può mantenere solo i valori più alti nella colonna immediatamente successiva alla colonna in cui hai rimosso le righe duplicate.
(3) Questa VBA non funziona in Microsoft Excel 2007.
Rimuovi le righe duplicate e mantieni solo i valori più alti con Kutools per Excel
La VBA sopra potrebbe non essere abbastanza facile per alcuni utenti, e può mantenere solo i valori più alti nella colonna successiva alla colonna criterio. Ma l'utilità Unione avanzata righe di Kutools per Excel ti aiuterà a risolvere facilmente questo problema.
Kutools per Excel - Ricco di oltre 300 strumenti essenziali per Excel. Goditi funzionalità AI permanentemente gratuite! Scarica ora!
1. Seleziona la tabella in cui vuoi rimuovere le righe duplicate e mantenere i valori più alti (nel nostro caso seleziona A1:C24), e clicca su Kutools > Unisci e Dividi > Unione avanzata righe.
2. Nella finestra di dialogo Combinazione righe basata su colonna che si apre, configura come segue:
(1) Seleziona la colonna Frutta (in base alla quale rimuoverai le righe duplicate), e poi clicca sul pulsante Chiave principale;
(2) Seleziona la colonna Importo (nella quale vuoi mantenere i valori più alti), e poi clicca su Calcola > Massimo.
(3) Specifica le regole di combinazione per le altre colonne secondo necessità.
3. Clicca sul pulsante Ok . Dopodiché vedrai che tutte le righe duplicate sono state rimosse in base alla colonna Frutta e solo i valori massimi delle frutta corrispondenti sono stati mantenuti nella colonna Importo. Vedi lo screenshot:
L'utilità Unione avanzata righe di Kutools per Excel può combinare facilmente le righe in base a una colonna e calcolare le altre colonne in base a questa colonna, ad esempio Somma, Conteggio, Massimo, Minimo, Prodotto, ecc. Clicca per una prova gratuita di 60 giorni, senza limitazioni!
Demo: rimuovi le righe duplicate e mantieni solo i valori più alti in Excel
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!