Perguntas · Desduplicação

O Excel não encontra os duplicados: porquê, e o que fazer?

«Remover Duplicados» e as comparações com fórmulas olham para o texto letra a letra: duas linhas iguais são encontradas, duas linhas que dizem a mesma coisa de forma diferente não. A maneira de as encontrar de verdade é arrumar primeiro a morada e reconhecer os nomes equivalentes, e só depois comparar.

O que faz de facto «Remover Duplicados»

A função compara o conteúdo das células que escolhe, coluna a coluna, carácter a carácter. Encontra a linha idêntica: mesmo texto, mesmas maiúsculas, mesmos espaços. Tudo o que se afaste nem que seja num pormenor não é considerado igual, e a linha fica na base como se fosse outra pessoa.

Na prática basta muito pouco para a comparação falhar: um espaço a mais depois do número de porta, «Silva João» em vez de «João Silva», «R. de Santa Catarina» no lugar de «Rua de Santa Catarina». Nenhum destes casos é raro: são a maneira normal como as pessoas escrevem uma base de contactos, não uma exceção. Quem inseriu a segunda linha não errou em nada: escreveu só as mesmas informações com as suas palavras, noutro momento, talvez a partir de outro formulário.

O mesmo limite vale para as fórmulas que comparam à mão duas colunas, ou um PROCV ou CORRESP sobre nome e morada: continuam a ser uma comparação de texto, e o texto de dois duplicados reais quase nunca coincide carácter a carácter.

Porque duas linhas que parecem diferentes são muitas vezes a mesma pessoa

  • Maiúsculas e espaços. «JOÃO SILVA» e «João Silva » (com um espaço no fim) são para o Excel dois textos diferentes.
  • Abreviaturas da rua. «R. de Santa Catarina, 110» e «Rua de Santa Catarina 110» não têm uma só letra igual na posição certa.
  • Apelido e nome trocados. Uma importação com as colunas trocadas produz «Silva João» ao lado de «João Silva», e nenhuma das fórmulas habituais os aproxima.
  • Nomes equivalentes ou abreviados. «J. Silva» e «Silva João» nem sequer partilham o nome por inteiro; «Zé» e «José» ainda menos.
  • Código postal com ou sem hífen, ou em falta numa só linha. «4000-442» e «4000442» são textos diferentes, e uma célula vazia chega para partir uma comparação exata em várias colunas.

O Excel não se engana: faz exatamente o que lhe pediu, uma comparação literal. O problema é que uma base de contactos real nunca está escrita de forma uniforme.

O que perde ao deitar fora uma linha ao acaso

Mesmo quando duas linhas são reconhecidas como iguais (por exemplo porque foram copiadas uma sobre a outra), deitar fora uma ao acaso é arriscado: se o e-mail estava registado só numa linha e o telefone só na outra, ficando com uma só perde um contacto. E se a escolha for manual, numa base de alguns milhares de linhas torna-se um trabalho longo e tão sujeito a erros como aquele que se quer resolver: é preciso abrir cada par suspeito, compará-lo a olho, decidir qual manter e copiar à mão os dados que faltam da outra.

Há também um risco menos visível: deitar fora a linha errada quando as duas não são de todo a mesma pessoa, mas só duas pessoas com o mesmo nome na mesma localidade. Uma comparação só de texto não tem como distinguir os dois casos, e é precisamente aí que seria precisa a maior cautela.

O que faz, em vez disso, uma comparação a sério

A desduplicação da RadarAddress trabalha em dois tempos. Primeiro arruma cada morada na sua forma correta — rua por extenso, código postal com os sete algarismos, localidade bem escrita — para que duas grafias da mesma rua se tornem a mesma rua antes ainda de serem comparadas. Depois põe em confronto os nomes, reconhecendo os nomes equivalentes (Zé e José), a ordem trocada de apelido e nome, uma gralha no apelido e o título antes do nome, que não conta no veredicto.

O resultado não é uma linha apagada: é uma ficha principal que tira de cada duplicado o melhor campo, e-mail e telefone incluídos, com escrito de onde vem cada informação. E cada grupo traz um nível de certeza — certo, provável, ambíguo — para saber quais fundir de olhos fechados e quais ver você, em vez de ter de o decidir linha a linha como numa folha de cálculo.

Numa base carregada como ficheiro a comparação corre sobre a lista inteira num só trabalho, até 100 000 fichas: não é preciso ordenar, agrupar nem cruzar folhas à mão.

O mesmo caso, dois resultados diferentes

Antes
Linha 12: Silva João, R. de Santa Catarina, 110, 4000-442 Porto
Linha 340: SILVA J., Rua de Santa Catarina 110, 4000442 porto
Depois
Excel · Remover Duplicados: nenhuma linha removida
RadarAddress: a mesma pessoa, nível certo

As duas linhas não partilham uma única cadeia de texto igual — nome abreviado, maiúsculas, abreviatura da rua, código postal sem hífen — mas são a mesma morada e a mesma pessoa. O nome é inventado para fins demonstrativos; qualquer referência a pessoas reais é mera coincidência.

As perguntas que se seguem

Porque é que uma fórmula PROCV não encontra estes duplicados?

Porque também ela compara o texto tal como está escrito: se não houver uma correspondência exata entre as células, não devolve nada, mesmo quando as duas linhas falam da mesma pessoa.

Posso pelo menos normalizar as maiúsculas e os espaços no Excel antes?

Pode reduzir alguns casos com fórmulas de limpeza do texto, mas não resolve as abreviaturas da rua, os nomes equivalentes nem a ordem trocada de apelido e nome: é precisa uma comparação que perceba a morada, não só o texto.

Como sei que linha manter entre dois duplicados?

Não é preciso decidi-lo: a desduplicação constrói uma ficha principal que reúne os melhores campos das linhas envolvidas, em vez de o obrigar a escolher qual deitar fora.

Funciona também num ficheiro com dezenas de milhares de linhas?

Sim: um trabalho em lote chega até 100 000 fichas, e o resultado indica em cada linha se forma um grupo e com quem.

Tenho de instalar alguma coisa no Excel?

Não. Carrega o ficheiro tal como está (Excel ou CSV) no site e volta a descarregar o resultado: nenhum suplemento a instalar.

Quanto custa desduplicar uma base de contactos?

Os preços estão na página de preços; antes de iniciar o trabalho vê sempre o que implica, e o crédito só é descontado na confirmação.

As colunas que não têm a ver com nome e morada ficam intactas?

Sim. O ficheiro de resultado acrescenta as colunas com o nível de certeza e a ficha principal, mas tudo o que já tinha no ficheiro volta na ordem de partida.

Experimente a desduplicação

Veja o motor reconhecer um duplicado num par de fichas de exemplo do seu país.

Experimente a desduplicação

Lê também: Encontrar os duplicados mesmo escritos de forma diferente · Verificar as moradas de um ficheiro Excel · Preços da desduplicação