Extrair Texto Excel: Conheça diferentes opções

Quer aprender a extrair texto no Excel? Então, você está no lugar certo!

Trabalhar com dados de texto no Excel pode ser uma tarefa cansativa, especialmente se você está extraindo dados manualmente de várias células em suas planilhas.

Neste guia, vamos nos aprofundar nas diferentes opções de extração de texto de células do Excel, uma habilidade que vai lhe poupar tempo e esforço. Quer você seja um profissional experiente do Excel ou esteja apenas começando sua jornada de manipulação de dados, este guia irá ajudá-lo com o conhecimento e as ferramentas para extrair texto de células do Excel sem esforço. Confira!

Por que extrair texto no Excel?

Há diferentes razões para extrair texto no Excel. Se você costuma receber ou baixar planilhas da Internet contendo listas de dados, então pode ser que você queria extrair apenas uma parte específica desses dados.

Para exemplificar, suponha que você tenha uma planilha com uma grande quantidade de endereços de e-mail e precise extrair os domínios de cada endereço de e-mail para utilizar esses dados em algum relatório. Realizar essa tarefa manualmente pode ser demorado, trabalhoso e muito frustrante. O mesmo vale se você tiver códigos alfanuméricos ou endereços de clientes e precise extrair uma parte específica de cada código ou endereço para utilizar em seu trabalho.

Mas a boa notícia é que o Excel nos fornece diferentes opções para extrair dados de modo eficiente. Acompanhe as opções a seguir e veja qual delas pode atender a sua necessidade.


Opção 1: Extrair texto de um determinado comprimento

Se o seu objetivo é extrair texto no Excel com um determinado comprimento, então provavelmente a combinação de algumas funções poderá ser a opção mais indicada. Os exemplos a seguir mostram como é possível combinar funções do Excel para extrair texto à direita, à esquerda ou até mesmo um texto central.

Extrair primeiros caracteres

Neste primeiro exemplo, temos uma tabela na qual a primeira coluna contém alguns códigos alfanuméricos e precisamos extrair os quatro primeiros caracteres de cada código para a coluna ao lado.

Extrair primeiros caracteres

Para este caso, utilizaremos a seguinte fórmula:

=ESQUERDA(A2;4)

extrair texto antes de um caractere excel

Observe que a função ESQUERDA retorna o número especificado de caracteres do início de uma cadeia de texto. Em outras palavras, a função retornará da esquerda para a direita, a quantidade de caracteres que o usuário desejar.

Extrair últimos caracteres

Por outro lado, suponha que você deseja extrair os quatro últimos caracteres de um determinado texto. Neste caso, basta utilizar a função DIREITA conforme exemplo abaixo.

=DIREITA(A2;4)

extrair últimos caracteres no Excel

Observe que, diferente da função ESQUERDA, a função DIREITA retorna o número especificado de caracteres do final de uma cadeia de texto. Ou seja, a função retornará da direita para a esquerda, a quantidade de caracteres que o usuário desejar.

Extrair texto central

Em outro cenário, suponha que você queira extrair a parte central de um texto. Neste caso, é possível obter o resultado utilizando a função EXT.TEXTO conforme exemplo abaixo.

=EXT.TEXTO(A2;6;9)

extrair parte central de um texto

Observe que a sintaxe da função EXT.TEXTO possui 3 argumentos que são:

  • texto: representa o texto original que você deseja extrair.
  • núm_inicial: representa a posição inicial do caractere que você deseja extrair. No exemplo acima queremos extrair a partir do 6° caractere.
  • núm_caract: representa a quantidade de caracteres que se deseja extrair. Neste exemplo, queremos extrair 9 caracteres do texto original, resultado na parte central do código alfanumérico.

Opção 2: Extrair texto antes ou depois de um determinado caractere

Nos exemplos anteriores, vimos como é possível extrair texto no Excel a partir da esquerda, direita ou um texto central. Mas como extrair um texto antes ou depois de um determinado caractere, ou palavra? Neste caso, podemos combinar algumas outras funções para obtermos o resultado desejado. Para isto, confira os exemplos abaixo.


Extrair texto antes de um determinado caractere

Suponha que você tenha uma lista de endereços de e-mail e deseja extrair apenas o nome de cada e-mail, ou seja, você deseja descartar os domínios e obter apenas os nomes de cada e-mail.

Extrair texto antes de um determinado caractere

Neste caso, podemos utilizar uma fórmula para extrair todo o texto antes do caractere @. Em outras palavras, a fórmula ficará da seguinte maneira:

=ESQUERDA(A3;LOCALIZAR("@";A2)-1)

função ESQUERDA

Conforme mostrado anteriormente, a função ESQUERDA retorna o número especificado de caracteres do início de uma cadeia de texto. Já a função LOCALIZAR, retorna a posição de um determinado caractere ou palavra. Ou seja, a fórmula acima diz para o Excel extrair o texto da esquerda para a direta até encontrar o caractere @. Como queremos obter apenas o nome, inserimos -1 no final da fórmula para que o Excel desconsidere o @ ao extrair o texto.

Extrair texto depois de um determinado caractere

Em outro cenário, suponha que você queira extrair o domínio de um endereço de e-mail, ou seja, todo o texto após o @. Neste caso, utilize a fórmula conforme o exemplo abaixo:

=DIREITA(A2;NÚM.CARACT(A2)-LOCALIZAR("@";A2))

Extrair texto depois de um determinado caractere

Observe que na fórmula acima utilizamos a função NÚM.CARACT para retornar a quantidade total de caracteres de cada endereço de e-mail e subtraímos pela função LOCALIZAR que retorna a posição do caractere @. Deste modo, a função DIREITA irá extrair o texto da direita para a esquerda até encontrar o caractere @.

Extrair o nome do domínio

Agora, suponha que você tem uma lista de endereços de e-mail e queira extrair apenas o nome do domínio, ou seja, você deseja descartar o nome do usuário e qualquer extensão de domínio como .com.br, .com, .net, .org etc. Neste caso, utilize a fórmula conforme exemplo abaixo:

=EXT.TEXTO(A2;LOCALIZAR("@";A2)+1;LOCALIZAR(".";A2)-LOCALIZAR("@";A2)-1)

separar domínio de e-mail

Com a função LOCALIZAR(“@”;A2)+1 o Excel retornará a posição inicial para extrair o texto, ou seja, a partir do caractere @.

Com a função LOCALIZAR(“.”;A2) o Excel retornará a posição do primeiro caractere de ponto e subtraímos pela posição do caractere @. Ou seja, a quantidade de caracteres entre o @ e o ponto.

Já a função EXT.TEXTO fará a extração do texto conforme o resultado das funções LOCALIZAR, resultado será a extração do nome do domínio.

Opção 3: Extrair Texto com Texto para Colunas

Caso não queira utilizar fórmulas para extrair texto no Excel, então saiba que existem outras alternativas. Uma dessas opções é a ferramenta Texto para Colunas na qual é possível extrair texto com base em um delimitador. Para isto, siga as etapas abaixo:

1. Selecione a célula ou intervalo de células que contém o texto que deseja extrair e acesse a guia Dados > Texto para colunas. Neste exemplo, selecionamos o intervalo que contém uma lista de endereços de e-mail da qual queremos extrair o nome e o domínio em colunas diferentes.

Extrair Texto com Texto para Colunas

2. Na caixa de diálogo ‘Assistente de conversão de texto para colunas‘, selecione a opção Delimitado e clique em Avançar.

extrair texto com delimitador

3. Especifique qual será o delimitador que irá separar os textos em colunas diferentes. Neste exemplo, o delimitador será o caractere @. Caso seu delimitador seja diferente, basta especificá-lo nesta etapa. Em seguida, clique em Avançar.

Texto para colunas

4. No campo Destino, selecione a célula de destino, ou seja, o local onde os dados serão extraídos. Neste exemplo, selecionamos a célula B2 e para finalizar, clique no botão Concluir.

separar texto em colunas

Pronto! O Excel extraiu em colunas diferentes os nomes e os domínios de cada endereço de e-mail.

separar e-mail

Opção 4: Extrair Texto com Localizar e Substituir

Outra opção para extrair texto no Excel é utilizando a ferramenta Localizar e Substituir. Utilizando o mesmo exemplo com a lista de e-mails, neste caso, siga as etapas:


1. Faça uma cópia da coluna que contém os dados que você deseja extrair. Neste exemplo, faremos uma cópia da coluna A, colando a lista de endereços na coluna B conforme imagem abaixo.

Extrair Texto com Localizar e Substituir

2. Selecione a coluna B e acesse a guia Página Inicial > Localizar e Selecionar > Substituir.

Localizar e Substituir

3. Na caixa de diálogo Localizar e substituir, insira @* no campo Localizar. Deixe em branco o campo Substituir por: e clique no botão Substituir tudo.

Localizar e Substituir com curinga

Como resultado, a coluna B será alterada de modo que apenas os nomes de cada e-mail sejam extraídos.

separar nome no Excel

Dica extra: No Excel, o símbolo asterisco (*) pode representar um caractere curinga. Isto significa que ele é capaz de representar qualquer número de caracteres. Ou seja, no exemplo acima, estamos instruindo o Excel a localizar o símbolo @ com quaisquer outros caracteres à direita e substituí-los por vazio. Isto retornará apenas o nome.

Para extrair apenas os domínios da lista de e-mails, siga as etapas:

1. Faça uma cópia da coluna que contém os dados que você deseja extrair. Neste exemplo, faremos uma cópia da coluna A, colando a lista de endereços na coluna C conforme imagem abaixo.

2. Selecione a coluna B e acesse a guia Página Inicial > Localizar e Selecionar > Substituir.

3. Na caixa de diálogo Localizar e substituir, insira *@ no campo Localizar. Deixe em branco o campo Substituir por: e clique no botão Substituir tudo.

Como resultado, a coluna C será alterada de modo que apenas os domínios de cada e-mail sejam extraídos.

Opção 5: Extrair Texto de Números

Suponha que você tenha uma lista com valores contendo textos e números e precise extrair apenas os textos, ou seja, os números não devem ser extraídos. Neste caso, você poderá utilizar uma função personalizada criada a partir do VBA. Para isto, siga as etapas:

1. Acesse a guia Desenvolvedor > Visual Basic.

Como acessar o VBA

2. No editor do VBA, acesse a guia Inserir > Módulo.

Inserir módulo

3. Dentro do módulo criado, cole o código abaixo. O código a seguir, criará na sua pasta trabalho uma função personalizada chamada ExtrairTexto.

Function ExtrairTexto(CellRef As String)
Dim TamanhoTexto As Integer
TamanhoTexto = Len(CellRef)
For i = 1 To TamanhoTexto
If Not (IsNumeric(Mid(CellRef, i, 1))) Then Resultado = Resultado & Mid(CellRef, i, 1)
Next i
ExtrairTexto = Resultado
End Function

4. Feche o editor do VBA e insira a função =ExtrairTexto na célula que deseja extrair os textos sem os números e referencie a célula que contém os valores originais. Veja o exemplo abaixo:

Importante: Para manter a função salva em sua pasta de trabalho é necessário salvar sua pasta de trabalho como Pasta de Trabalho Habilitado para Macros do Excel (.xlsm).

extrair somente texto excel

Dica extra: Caso precise extrair números de um texto, então confira a dica deste vídeo em nosso canal no Youtube.

Baixe aqui a planilha contendo os exemplos apresentados neste tutorial.

Confira este tutorial em formato de vídeo.

Confira também as seguintes dicas de Excel:

E então, o que achou das dicas para extrair texto no Excel? Caso tenha ficado com alguma dúvida ou tenha alguma sugestão, deixe seu comentário abaixo.