
Eu tenho uma lista de palavras gregas no Excel. Algumas das células são duplicatas exatas, outras são exatamente a mesma palavra, mas com acento diferente (na prática, algumas palavras são acentuadas e outras são completamente não acentuadas). Quero criar uma lista apenas de palavras únicas, desconsiderando a acentuação.
Isso é possível?
Responder1
Gostaria de mostrar o método que o ajudará a converter caracteres/palavras acentuados em não acentuados (como você exigiu através de comentários) e extraia a lista de caracteres/palavras exclusivos.
Insira este código VBA como Módulo com a planilha necessária. Isso converterá palavras/caracteres acentuados em valores não acentuados.
Function ChangeAccent(thestring As String)
Dim A As String * 1
Dim B As String * 1
Dim i As Integer
Const AccChars= "ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ"
Const RegChars= "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy"
For i = 1 To Len(AccChars)
A = Mid(AccChars, i, 1)
B = Mid(RegChars, i, 1)
thestring = Replace(thestring, A, B)
Next
ChangeAccent = thestring
End Function
Como usar a função:
Presumo que você tenha uma lista de palavras acentuadas na coluna A.
Então escreva esta fórmula na célula B2, finalize com Enter e preencha:
=ChangeAccent(A2)
Na célula C2 escreva esta fórmula de matriz, termine com Ctrl+Shift+Enter e preencha-a.
{=IFERROR(INDEX($B$2:$B$11, MATCH(0, COUNTIF($C$1:C1, $B$2:$B$11), 0)),"")}
Você obtém uma lista exclusiva de palavras sem sotaque, como mostrei na captura de tela.