Tutoriais VB e VBA - Identificando celulas duplicadas, se você tem uma planilha que contém endereços. Alguns endereços são muito perto do mesmo, de tal forma que o endereço é o mesmo, apenas o número do apartamento do endereço é diferente. Por exemplo, uma linha pode ter um endereço de “Getúlio Vargas, 85 , apto 101″ e outra linha pode ter um endereço de “Getúlio Vargas, 85 , apto 302″. Bom se você quer saber como remover as duplicatas na lista de endereços baseados em uma correspondência parcial - baseado apenas no endereço e ignorando o número do apartamento.

A solução mais simples consiste em dividir ainda mais os endereços em colunas separadas, de tal forma que o número do apartamento esteja em sua própria coluna. Você pode fazer isso, siga estas etapas:

1. Certifique-se de que existe uma coluna em branco à direita da coluna endereço.
2. Selecione as células que contêm endereços.
3. Escolha Texto para colunas do menu Dados. Excel começa o Converta Texto para colunas.
4. Na primeira etapa do assistente, certifique-se o Delimitador está selecionada, em seguida, clique em Avançar.
5. Na segunda etapa do assistente, certificar-se de que a caixa de seleção Vírgula é o delimitador selecionado e, em seguida, clique em Avançar.
6. Na terceira etapa do assistente clique em Concluir.

O endereço deve agora residir na coluna original e a coluna anteriormente em branco deve conter agora tudo o que estava depois da vírgula no endereço original. Em outras palavras, o número do apartamento está em sua própria coluna. Com seus dados nesta condição é um passo fácil de usar filtros para exibir ou extrair os únicos endereços.

Se você não quiser dividir permanentemente os endereços em duas colunas, você pode usar uma fórmula para determinar duplicatas. Partindo do pressuposto de que o endereço está classificado lista, que você poderá utilizar uma fórmula semelhante ao seguinte:

= IF (OR (ISERROR (FIND (”,”, A3)), ISERROR (FIND (”,”, A2 ))),”", IF (LEFT (A3, FIND (”,”, A3)) = LEFT (A2, FIND (”,”, A2)), “Duplicar “,”"))

Esta fórmula supõe que os endereços a serem verificados estão na coluna A, e que esta fórmula é colocada em algum lugar da linha 3 de uma outra coluna. Ele primeiro verifica se há uma vírgula no endereço na linha atual ou o endereço na linha anterior. Se não houver uma vírgula em um dos endereços, então ele assume não é possível duplicar. Se existe uma vírgula em ambas delas, a fórmula verifica que a parte dos endereços antes da vírgula. Se eles correspondem, em seguida, a palavra “duplicado” é retornado; se eles não corresponderem, então nada é retornado.

O resultado de copiar a fórmula para baixo na coluna (de modo que uma fórmula corresponde a cada endereço), que terá a palavra “Duplicate” aparecer ao lado desses endereços que correspondem à primeira parte do anterior endereço. Em seguida, você pode descobrir o que você pretende fazer com aqueles que são duplicados.

Outra opção é usar uma macro para determinar seus possíveis duplicados. Há uma série de maneiras que uma macro usa para determinar duplicatas; o mostrado aqui simplesmente verifica o primeiro valor X caracteres de uma “chave” contra um intervalo e retorna o endereço da primeira célula de correspondência.

Function NearMatch(vLookupValue, rng As Range, iNumChars)
Dim x As Integer
Dim sSub As String

Set rng = rng.Columns(1)
sSub = Left(vLookupValue, iNumChars)
For x = 1 To rng.Cells.Count
If Left(rng.Cells(x), iNumChars) = sSub Then
NearMatch = rng.Cells(x).Address
Exit Function
End If
Next
NearMatch = CVErr(xlErrNA)
End Function

Por exemplo, vamos supor que seus endereços estão no intervalo A2: A100. Na coluna B você pode usar esta função NearMatch para retornar endereços de possíveis duplicados. Na célula B2 digite a seguinte fórmula:

= NearMatch (A2, A3: A $ 100,12)

O primeiro parâmetro para a função (A2) é a célula que deseja utilizar como o sua “chave”. Os primeiros 12 caracteres desta célula são comparados contra os primeiros 12 caracteres de cada célula no intervalo A3: A $ 100. Se uma célula que se encontra na faixa em que os primeiros 12 caracteres correspondem, então, o endereço da célula que é retornado pela função. Se nenhuma correspondência fica, então, o # N / A erro é retornado. Se você copiar a fórmula em B2 para baixo, para células B3: B100, cada endereço correspondente na coluna A será comparado com todos os endereços abaixo dele. Você acabará com uma lista de possíveis duplicados na lista original.