Como Extrair Somente Texto de Célula no Excel

Precisa “pegar” somente o texto na célula no Excel? Veja como extrair o texto de células do Excel de 3 formas diferentes.

Na solução você terá uma função para realizar a extração de números e mantendo somente os textos de cada uma das células.

Digamos que você tenha a situação abaixo:

ExtrairNumeros

Veja três formas de fazer isso, não apenas para uma célula, mas para quantas precisar e de forma automática.

Extrair Somente Texto de Célula com Preenchimento Relâmpago

Para a primeira solução usamos um recurso disponível à partir da versão Excel 2013.

O nome deste recurso é Preenchimento Relâmpago.

O preenchimento relâmpago usa inteligência artificial para realizar preenchimento de dados usando exemplos criados por você.

No nosso exemplo usaremos para extrair somente o texto de uma lista de células que não seguem um padrão, mas se elas seguissem provavelmente um ou dois exemplos já bastariam.

Veja abaixo:

  • A nossa lista de dados ou tabela tem que estar estar disposta conforme abaixo, na vertical.
  • Insira uma coluna ao lado desta e digite um exemplo da extração dos dados na primeira célula e pressione as teclas CTRL+e simultaneamente.

Veja que a lista é preenchida automaticamente baseada no seu exemplo, e dependendo de como estão seus dados isso já resolve.

Se não resolver é porque a inteligência artificial precisa de mais exemplos para realizar a tarefa.

  • Neste caso, altere a próxima célula que não está correta para ele aprender com mais este exemplo e pressione Enter, veja que o intervalo está com uma seleção em volta e todos os dado serão alterados.
  • Veja como ficou com o novo exemplo de dados.

Como pode notar o Excel já ajustou mais algumas linhas. Repita a operação para todas que não estiverem ok, e veja que ela replica para as que ela compreender da mesma forma que seu exemplo.

O resultado será uma lista com os dados extraídos:

Mas veja que esta é uma solução estática, ou seja, se alterar os dados da coluna Texto o preenchimento relâmpago não irá alterar os dados da coluna Somente texto, sendo necessário repetir a operação.

Para fazer com que seja dinâmico, use uma das duas seguintes soluções, com fórmula ou VBA.

Fórmula para Extrair Texto Excel

Você também pode extrair dados de células no Excel usando fórmulas.

Esta fórmula só funciona no Excel 365, Excel 2021 e Excel Web, logo não funcionará em nenhuma outra versão anterior à estas, porque para elas usamos matrizes dinâmicas.

Veja a imagem abaixo da fórmula aplicada e em seguida a explicação das partes que a compõe.

A fórmula acima é a seguinte, pode simplesmente copiar e mudar a célula B8 da referência que já irá funcionar.

=ARRUMAR(CONCAT(FILTRO(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1);NÃO(ÉNÚM(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1)*1))))))

Vejamos por partes a fórmula:

  1. EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1) : Esta parte da fórmula faz a extração dos caracteres um a um, por exemplo {“1″;”4″;”8″;”7″;”8″;” “;”T”;”E”;”X”;”T”;”O”;” “;”A”;”B”;”C”;”D”;” “;”5″;”9″;”7″;”7″;”8”}, convertendo como se fossem células.
  2. (NÃO(ÉNÚM(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1)*1))) :Nesta parte temos a verificação se o valor é um número ou não, filtrando apensa os que não são números, retornando então uma lista de VERDADEIRO;FALSO: {FALSO;FALSO;FALSO;FALSO;FALSO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;FALSO;FALSO;FALSO;FALSO;FALSO}
  3. FILTRO(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1);NÃO(ÉNÚM(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1)*1)))) : A função FILTRO realiza uma filtragem de células à partir de critérios, e o critério usado foi o do tópico anterior, somente quem não é número, retornando então {” “;”T”;”E”;”X”;”T”;”O”;” “;”A”;”B”;”C”;”D”;” “}
  4. CONCAT(FILTRO(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1);NÃO(ÉNÚM(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1)*1))))) : Como temos no texto acima todos os dados, mas em células, somente os textos precisamos juntar eles.
  5. =ARRUMAR(CONCAT(FILTRO(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1);NÃO(ÉNÚM(EXT.TEXTO(B8;SEQUÊNCIA(NÚM.CARACT(B8));1)*1)))))) : Nesta parte usamos as funções CONCAT para concatenar todos os dados das células e ARRUMAR para remover os espaços em branco e como resultado final temos então : TEXTO ABCD

Basta agora copiar a fórmula para todas as células e automaticamente será extraído somente o texto, independente se mudar a informação da coluna e de como ela esteja.

Extrair Somente Texto do Excel com VBA

Esta última é uma opção que funciona em qualquer Excel à partir do 1997, menos no Web.

Nela usamos uma UDF, uma função própria criada no VBA.

Com a aplicação de uma função simples, no caso =lfExtrairCaracteres(A1) você terá a extração somente dos textos da célula, removendo os números.

A função demonstrada neste artigo foi criada em VBA e para inseri-la no Excel você deve seguir os passos descritos neste artigo: http://guiadoexcel.com.br/criando-funcoes-proprias-globais.

No módulo criado clique duas vezes

E cole o código pra ficar como na imagem abaixo:

Abaixo o código fonte que deve ser inserido, basta copiar e colar conforme acima

'Função que retira somente o texto da célula
Public Function lfExtrairCaracteres(vPesquisa As Range) As String
    Dim lQtde As Long

    Application.Volatile

    'Recebe o valor da célula
    lfExtrairCaracteres = vPesquisa.Text

    'Retira os caracteres de 0 a 9, trocando-os por ""
    For lQtde = 0 To 9
        lfExtrairCaracteres = Replace(lfExtrairCaracteres, lQtde, "", 1)
    Next lQtde

End Function

Para utilizar a função você deve digitar em qualquer célula e digitar =lfExtrairCaracteres(A1), modificando na função a mudança de A1 pela célula que deseja remover os números.

Conforme a explicação na função, o resultado é que todos os caracteres que são numéricos são exclusos do resultado da função, de modo que somente sobrem as letras.

Explicação da Função de Extrair Texto no Excel VBA

Na função que tivemos nós temos o uso recursivo da função lfExtrairCaracteres aonde ela substitui os valores de 0 à 9.

A função chama novamente a mesma função várias vezes para cada uma das posições dos caracteres ser analisada no texto e serem substituídas pelo “”, que é o vazio.

A função também é volátil, ou seja, ao mudar o valor da célula a função muda automaticamente o seu resultado conforme a informação constante na célula.

Por exemplo o texto 14878 TEXTO ABCD 59778 ficará como TEXTO ABCD, e você pode aplicar qualquer outra função do Excel no resultado desta função própria VBA.

Download da Planilha de Exemplo para Extrair Texto de Células

Realize o download da planilha de extrair textos de células no Excel deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Baixe a planilha


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel