Atualmente, estou tentando reconciliar os campos "Nome" de duas fontes de dados separadas. Eu tenho vários nomes que não são exatamente iguais, mas estão próximos o suficiente para serem considerados correspondentes (exemplos abaixo). Você tem alguma idéia de como posso melhorar o número de correspondências automatizadas? Já estou eliminando as iniciais do meio dos critérios de correspondência.
Fórmula de correspondência atual:
=IFERROR(IF(LEFT(SYSTEM A,IF(ISERROR(SEARCH(" ",SYSTEM A)),LEN(SYSTEM A),SEARCH(" ",SYSTEM A)-1))=LEFT(SYSTEM B,IF(ISERROR(SEARCH(" ",SYSTEM B)),LEN(SYSTEM B),SEARCH(" ",SYSTEM B)-1)),"",IF(LEFT(SYSTEM A,FIND(",",SYSTEM A))=LEFT(SYSTEM B,FIND(",",SYSTEM B)),"Last Name Match","RESEARCH")),"RESEARCH")
fonte
Eu usaria esta lista (somente na seção em inglês) para ajudar a eliminar as diminuições comuns.
Além disso, você pode considerar o uso de uma função que informará, em termos exatos, quão "próximas" são duas cadeias. O código a seguir veio daqui e graças ao smirkingman .
O que isso fará é informar quantas inserções e exclusões devem ser feitas em uma string para chegar à outra. Eu tentaria manter esse número baixo (e os sobrenomes devem ser exatos).
fonte
Eu tenho uma fórmula (longa) que você pode usar. Não é tão aprimorado quanto os anteriores - e funciona apenas com sobrenome, e não com um nome completo -, mas você pode achar útil.
Então se você tem uma linha de cabeçalho e quiser comparar
A2
comB2
, colocar isso em qualquer outra célula dessa linha (por exemplo,C2
) e copiar até o fim.Isso retornará:
Depois disso, você obterá um grau de 0 ° a 6 °, dependendo do número de pontos de comparação entre os dois. (ou seja, 6 ° compara melhor).
Como eu digo um pouco áspero e pronto, mas espero que você obtenha aproximadamente o parque de bola certo.
fonte
Estava procurando por algo semelhante. Encontrei o código abaixo. Espero que isso ajude o próximo usuário que vier a esta pergunta
Eu diria que é perto o suficiente do que você queria :)
fonte
Você pode usar a função de similaridade (pwrSIMILARITY) para comparar as seqüências de caracteres e obter uma porcentagem correspondente das duas. Você pode fazer distinção entre maiúsculas e minúsculas ou não. Você precisará decidir qual porcentagem de uma correspondência é "suficientemente próxima" para suas necessidades.
Há uma página de referência em http://officepowerups.com/help-support/excel-function-reference/excel-text-analyzer/pwrsimilarity/ .
Mas funciona muito bem para comparar o texto na coluna A com a coluna B.
fonte
Embora minha solução não permita identificar seqüências de caracteres muito diferentes, é útil para correspondência parcial (correspondência de substring), por exemplo, "this is a string" e "uma string" resultará em "matching":
basta adicionar "*" antes e depois da string para procurar na tabela.
Fórmula usual:
torna-se
"&" é a "versão curta" para concatenate ()
fonte
Essa coluna de verificação de código ae coluna b, se encontrar alguma similaridade nas duas colunas, será mostrada em amarelo. Você pode usar o filtro de cores para obter o valor final. Eu não adicionei essa parte no código.
fonte