Como remover linhas duplicadas e manter apenas os valores mais altos no Excel?
Por exemplo, você tem uma tabela de compras no Excel, como mostra a primeira captura de tela. Agora, você precisa remover as linhas duplicadas com base na coluna Fruta e manter os valores mais altos das frutas correspondentes na coluna Quantidade, conforme mostrado na segunda captura de tela. Consegue pensar em alguma solução? Este artigo compartilhará dois truques para resolver isso.
Remover linhas duplicadas e manter apenas os valores mais altos com VBA
Remover linhas duplicadas e manter apenas os valores mais altos com Kutools para Excel
Remover linhas duplicadas e manter apenas os valores mais altos com VBA
Suponha que você tenha uma tabela como mostrado na captura de tela abaixo. E este método apresentará uma macro VBA para remover linhas duplicadas com base em uma determinada coluna e manter apenas os valores mais altos em outra coluna no Excel. Por favor, siga os passos abaixo:
1. Pressione simultaneamente as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo e cole o seguinte código na nova janela Módulo que se abre.
VBA: Remover linhas duplicadas e manter os valores mais altos
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. Pressione a tecla F5 ou clique no botão Executar para executar esta VBA.
4. Agora aparecerá uma caixa de diálogo. Por favor, selecione as colunas onde você deseja remover as linhas duplicadas e manter os valores mais altos, e clique no botão OK.
No nosso caso, removeremos as linhas duplicadas pela Coluna Fruta e manteremos os valores mais altos na Coluna Quantidade; portanto, seleciono a coluna Fruta e a coluna Quantidade, como mostrado na captura de tela acima.
Então você verá que as linhas duplicadas foram removidas com base na coluna Fruta, e os valores mais altos das frutas correspondentes foram mantidos na coluna Quantidade. Veja a captura de tela:
Notas:
(1) O intervalo especificado deve começar com a coluna pela qual você removerá as linhas duplicadas.
(2) Esta VBA só pode manter os valores mais altos na coluna imediatamente após a coluna pela qual você removeu as linhas duplicadas.
(3) Esta VBA não funciona no Microsoft Excel 2007.
Remover linhas duplicadas e manter apenas os valores mais altos com Kutools para Excel
O VBA acima pode não ser fácil o suficiente para alguns usuários, e ele só pode manter os valores mais altos na coluna atrás da coluna de critérios. Mas o utilitário Mesclar Linhas Avançado do Kutools para Excel ajudará você a resolver facilmente esse problema.
Kutools para Excel - Repleto de mais de 300 ferramentas essenciais para o Excel. Aproveite recursos de IA gratuitos permanentemente! Faça o download agora!
1. Selecione a tabela onde você removerá as linhas duplicadas e manterá os valores mais altos (selecione A1:C24 no nosso caso), e clique em Kutools > Mesclar e Dividir > Mesclar Linhas Avançado.
2. Na caixa de diálogo Combinar Linhas Baseadas em Coluna que se abre, configure conforme segue:
(1) Selecione a coluna Fruta (pela qual você removerá as linhas duplicadas) e, em seguida, clique no botão Chave Primária;
(2) Selecione a coluna Quantidade (na qual você manterá os valores mais altos) e, em seguida, clique em Calcular > Máximo.
(3) Especifique regras de combinação para outras colunas conforme necessário.
3. Clique no botão Ok . E então você verá que todas as linhas duplicadas foram removidas com base na Coluna Fruta e apenas os valores máximos das frutas correspondentes foram mantidos na coluna Quantidade. Veja a captura de tela:
O utilitário Mesclar Linhas Avançado do Kutools para Excel pode facilmente combinar linhas por uma coluna e, em seguida, calcular outras colunas com base nesta coluna também, como Soma, Contagem, Máximo, Mínimo, Produto, etc. Clique para um teste gratuito de 60 dias, sem limitações!
Demonstração: remover linhas duplicadas e manter apenas os valores mais altos no Excel
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!