Como remover linhas duplicadas e manter os valores mais altos apenas no Excel?
Por exemplo, você tem uma tabela de compras no Excel como a primeira imagem mostrada. 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 a segunda captura de tela mostrada. Você consegue pensar em alguma solução? Este artigo irá compartilhar dois truques para resolvê-lo.
Remova as linhas duplicadas e mantenha os valores mais altos apenas com VBA
Remova linhas duplicadas e mantenha os valores mais altos apenas com o Kutools para Excel
Remova facilmente linhas duplicadas com base em critérios em uma coluna e mantenha apenas os valores mais altos no Excel
Kutools para Excel's Combinar linhas avançadas O utilitário pode ajudar os usuários do Excel a descobrir rapidamente o valor máximo do valor mínimo de cada item em outra coluna com facilidade.
Este utilitário Advanced Combine Rows também pode combinar linhas e valores separados por marcas especificadas, ou combinar linhas e calcular suas somas, número de ocorrências, valores máximo / mínimo, médias, etc.
Remova as linhas duplicadas e mantenha os valores mais altos apenas com VBA
Supondo que você tenha uma tabela como a imagem mostrada abaixo. E este método irá introduzir uma macro VBA para remover linhas duplicadas com base em uma determinada coluna e manter os valores mais altos apenas em outra coluna no Excel. Faça o seguinte:
1. aperte o outro + F11 simultaneamente para abrir a janela Microsoft Visual Basic for Applications.
2. Clique inserção > Móduloe cole o código a seguir na nova janela de abertura do módulo.
VBA: remove linhas duplicadas e mantém 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. aperte o F5 ou clique no Execute botão para executar este VBA.
4. Agora uma caixa de diálogo é exibida. Selecione as colunas pelas quais você removerá as linhas duplicadas, reserve os valores mais altos e clique no botão OK botão.
No nosso caso, removeremos as linhas duplicadas por coluna de frutas e manteremos os valores mais altos na coluna de quantidade, portanto, seleciono a coluna de frutas e a coluna de quantidade como mostrado acima.
Em seguida, você verá que as linhas duplicadas são removidas com base na coluna Frutas e os valores mais altos das frutas correspondentes são mantidos na coluna Quantidade. Veja a imagem:
Notas:
(1) O intervalo especificado deve começar com a coluna pela qual você removerá as linhas duplicadas.
(2) Este VBA só pode manter os valores mais altos na coluna logo atrás da coluna pela qual você removeu as linhas duplicadas.
(3) Este VBA não funciona no Microsoft Excel 2007.
Remova linhas duplicadas e mantenha os valores mais altos apenas com o Kutools para Excel
O VBA acima pode não ser fácil o suficiente para alguns usuários e só pode manter os valores mais altos na coluna atrás da coluna de critérios. Mas Kutools para Excel Combinar linhas avançadas utilitário o ajudará a resolver facilmente este problema.
Kutools for Excel - Embalado com mais de 300 ferramentas essenciais para Excel. Desfrute de um teste GRATUITO de 30 dias com todos os recursos, sem necessidade de cartão de crédito! Baixe Agora!
1. Selecione a tabela que você irá remover linhas duplicadas e manter os valores mais altos (selecione A1: C24 em nosso caso) e clique em Kutools > Conteúdo > Combinar linhas avançadas.
2. Na abertura da caixa de diálogo Combinar Linhas com Base na Coluna, configure da seguinte forma:
(1) Selecione a coluna Frutas (pela qual você removerá as linhas duplicadas) e clique no botão Chave primária botão;
(2) Selecione a coluna Valor (na qual você manterá os valores mais altos) e clique em calculado > Max.
(3) Especifique regras de combinação para outras colunas conforme necessário.
3. Clique na Ok botão. E então você verá que todas as linhas duplicadas são removidas com base na coluna de frutas e apenas os valores máximos das frutas correspondentes são mantidos na coluna Quantidade. Veja a imagem:
A Combinar linhas avançadas O utilitário do Kutools para Excel pode facilmente combinar linhas por uma coluna e, em seguida, calcular outras colunas com base nessas colunas também, como Soma, Contagem, Máx., Mín., Produto, etc. Clique para um teste gratuito de 60 dias, sem limitações!
Demonstração: remova as linhas duplicadas e mantenha os valores mais altos apenas no Excel
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!