Responder1
Para resolver o problema você precisa de VBA (Macro):
Como funciona:
- PressioneAlt+F11ouClique com o botão direitoPlanilha TAB e no menu exibido, cliqueVer código.
- cópia de&Colareste código comomódulo padrão.
CORRERa Macro.
Private Sub Worksheet_SelectionChange(ByVal rngSel As Range) Set rngTable = [I2:K17] If rngSel.Count > 1 Or Intersect(rngSel, rngTable) Is Nothing Then End For Each rngCell In rngTable rngCell.Interior.ColorIndex = IIf(rngCell.Value = rngSel.Value, 27, -4142) Next End Sub
Observação
- Neste código,
rngTable = [I2:K17]
as referências de células, bem como o código de cores,27, -4142
são editáveis.
Responder2
A abordagem que eu adotaria é uma de duas maneiras:
1) Use uma tabela de pesquisa e tente inventar exaustivamente todas as variações possíveis que usuários idiotas possam imaginar para a mesma coisa, ou use dados de origem e remova duplicatas para obter a lista conhecida de opções estúpidas. Esse é o tipo de coisa que tenho que fazer ao migrar dados de contato com "cargo" - o registro até o momento é de 67 maneiras diferentes de estilizar ou soletrar "Diretor Gerente" (MD, MD, M Dir, Manging Driector, etc). Essa abordagem é ótima para dados históricos únicos - no meu caso, depois que os dados foram migrados, usamos listas de seleção suspensas para impedir que os usuários causassem o mesmo problema antigo em um novo sistema.
2) Use um conjunto de regras para “jogar fora” informações irrelevantes que você não considera necessárias para discriminar coisas que correspondem. Um monte de funções SUBSTITUTE aninhadas substituindo strings curtas por "" resolvem o problema. Substitua sinais de pontuação como . - / : primeiro, depois coisas como (PVT) e Ltd e Limited - se alguma dessas sequências curtas for ambígua e puder ocorrer dentro de outra palavra, inclua um espaço antes, depois ou ambos. Um bom exemplo é substituir “Co” mas não “Co” para evitar acabar com “mpany” ou “bblers”. Faça o SUBSTITUTO mais externo " " por "" (ou seja, perca os espaços por último). Trata-se de "ABC Foods", mas deixa os espaços para o final, para que você ainda possa analisar strings sem perder pedaços de palavras.
Presumo que você considere "ABC Foods" o mesmo que "ABC Foods (PVT) Ltd."
Agora crie uma lista de todas as respostas “certas”. Crie uma segunda coluna à esquerda usando sua fórmula e copie> cole valores especiais> para "nivelar" isso. Agora, em seus dados principais, use suas substituições para reduzir o nome ao seu formato minimalista e, em seguida, use-o como valor de pesquisa para retornar a versão "correta". Você pode usar uma coluna auxiliar para os SUBSTITUTOS ou fazer tudo de uma vez.
Essa abordagem leva algumas tentativas para acertar e identificar todos os bits que podem ser descartados com segurança, mas será mais robusta se os dados de origem puderem conter erros novos e imprevistos no futuro.
Lembre-se: se você tentar torná-lo à prova de idiotas, alguém irá simplesmente buscar um idiota ainda maior.