Como remover acentos no Excel - tutorial em vídeo

Oi gente, tudo bem?

Estou deixando aqui um breve tutorial do YouTube que a Juliana Mori me indicou pra resolver o seguinte problema:

Você abriu uma base de dados sobre todos os países reconhecidos pela ONU, mas a coluna de países foi preenchida sem padrão, então tem exemplos como Afeganistão e Afeganistao.

Se você está trabalhando só no Excel, dá pra criar uma função e retirar todos os acentos que possam estar em cada célula. É bem mais rápido do que usar a função de substituir os caracteres um por um.

Esse tutorial tirei desse vídeo no YouTube, feito pelo Eduardo Medeiros: https://www.youtube.com/watch?v=85isVXXZ0hQ

  1. Essa função só funciona na própria planilha onde você está trabalhando;
  2. Salve a planilha no formato “pasta de trabalho habilitada para macro do Excel” (mxls);
  3. Abra o Visual Basic (atalho ctrl+F11);
  4. Escolha Inserir > Módulo;
  5. Cole o seguinte texto na janela:

Function SemAcento(Caract As String)
Dim A As String
Dim B As String
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)
Caract = Replace(Caract, A, B)
Next
SemAcento = Caract
End Function

  1. Salve o módulo e feche o Visual Basic;
  2. De volta à planilha, digite em uma célula a seguinte função:

=SemAcento(CÉLULA)

  1. Selecione a célula em que você quer substituir o assunto;
  2. O mais indicado é criar uma coluna ao lado da coluna que você quer limpar, e arrastar a função até o final, para cobrir todas as linhas e não deixar nenhum acento sobrando.
3 Curtidas

Oi, Carol. Obrigada por compartilhar. Por aqui, quando a base não é muito grande, eu uso alguns sites que fazem essa “conversão”. Um deles é o Text utils.

Já no R, com base maiores, eu costumo usar a função rm_accent() do pacote abjutils.

2 Curtidas

Legal, Gabi! Valeu pelas dicas!

Em Python, você pode utilizar o pacote unidecode:

In [1]: from unidecode import unidecode                                         

In [2]: print(unidecode('ação'))                                                
acao

Ou, se quiser usar só a biblioteca padrão do Python, para não adicionar uma dependência no seu projeto, também é possível. Mas o código fica bem menos legível:

In [1]: import unicodedata, string                                              

In [2]: texto = 'ação'                                                          

In [3]: ''.join(c for c in unicodedata.normalize('NFKD', texto) if c in string.p
   ...: rintable)                                                               
Out[3]: 'acao'
1 Curtida