Muitas listas chegam com as informações misturadas em uma única célula: um código de produto que inclui país e ano, um nome completo, um e-mail do qual só interessa o domínio. Copiar cada parte à mão é lento e sujeito a erros. As funções de texto do Excel fazem esse trabalho em segundos e se atualizam sozinhas se os dados mudarem.
Aqui você vai ver como extrair caracteres com ESQUERDA, DIREITA e EXT.TEXTO, como cortar por um separador com TEXTOANTES e TEXTODEPOIS, como juntar textos com UNIRTEXTO e como evitar os erros mais comuns.
ESQUERDA e DIREITA: extrair caracteres das pontas
Essas duas funções pegam um número fixo de caracteres do início ou do fim do texto. Funcionam muito bem com códigos de tamanho constante. Imagine esta coluna de códigos em A:
| Código (A) | País | Ano | Número |
|---|---|---|---|
| ES-2025-0042 | ES | 2025 | 0042 |
| MX-2024-0187 | MX | 2024 | 0187 |
| AR-2025-0009 | AR | 2025 | 0009 |
Para obter o país, pegue os dois primeiros caracteres:
=ESQUERDA(A2;2)
E, para o número sequencial, os quatro últimos:
=DIREITA(A2;4)
O resultado de DIREITA é texto: “0042”, e não 42. Se você precisar somá-lo, classificá-lo como número ou compará-lo com outra coluna numérica, converta-o com VALOR:
=VALOR(DIREITA(A2;4))
EXT.TEXTO: tirar texto do meio
EXT.TEXTO retorna uma parte do texto a partir de uma posição. A sintaxe é EXT.TEXTO(texto;núm_inicial;núm_caract). Nos códigos acima, o ano começa no caractere 4 e ocupa 4 caracteres:
=EXT.TEXTO(A2;4;4)
Quando a posição muda em cada linha
Com nomes completos, o tamanho varia. A solução é localizar o espaço com LOCALIZAR, que retorna a posição de um caractere. Se A2 contém “Ana Lopes”, o nome é tudo o que vem antes do espaço:
=ESQUERDA(A2;LOCALIZAR(" ";A2)-1)
E o sobrenome, tudo o que vem depois. Como terceiro argumento usa-se NÚM.CARACT(A2), o tamanho total, para garantir que se chegue até o fim:
=EXT.TEXTO(A2;LOCALIZAR(" ";A2)+1;NÚM.CARACT(A2))
Se alguma célula não tiver espaço, LOCALIZAR retorna #VALOR!. Você verá como lidar com isso mais abaixo, nos erros comuns.
TEXTOANTES e TEXTODEPOIS: cortar por um separador
No Microsoft 365, no Excel para a Web e no Excel 2024 existe um jeito muito mais simples de fazer isso. TEXTOANTES retorna o que vem antes de um delimitador e TEXTODEPOIS, o que vem depois. Não é preciso calcular posições.
Para o nome de “Ana Lopes”:
=TEXTOANTES(A2;" ")
Para o domínio de um e-mail como “cliente.a@exemplo.com”:
=TEXTODEPOIS(A2;"@")
Escolher qual ocorrência do separador usar
O terceiro argumento indica em qual ocorrência do delimitador cortar. Com “ES-2025-0042” em A2, esta fórmula retorna “ES-2025”, porque corta no segundo hífen:
=TEXTOANTES(A2;"-";2)
Um número negativo conta a partir do fim. Assim você obtém sempre o último bloco, não importa quantas partes o código tenha:
=TEXTODEPOIS(A2;"-";-1)
Se o separador não existir, as duas funções retornam #N/D. Você pode envolvê-las em SEERRO para mostrar o texto original no lugar:
=SEERRO(TEXTOANTES(A2;" ");A2)
UNIRTEXTO: juntar textos com um separador
O caminho inverso também é comum: juntar várias colunas em uma só, por exemplo para montar um endereço ou uma lista. Dá para fazer isso com o operador &, mas cada separador precisa ser digitado à mão e as células vazias deixam vírgulas sobrando.
UNIRTEXTO, disponível desde o Excel 2019, resolve as duas coisas. A sintaxe é UNIRTEXTO(delimitador;ignorar_vazio;texto1;...):
=UNIRTEXTO(", ";VERDADEIRO;A2:C2)
| Endereço (A) | Bairro (B) | Cidade (C) | Resultado |
|---|---|---|---|
| Rua 1, nº 10 | Centro | Cidade Norte | Rua 1, nº 10, Centro, Cidade Norte |
| Avenida 3, nº 25 | Cidade Sul | Avenida 3, nº 25, Cidade Sul |
Com VERDADEIRO no segundo argumento, a célula vazia da segunda linha não deixa vírgula dupla. A função também serve para resumir uma coluna inteira em uma única célula, por exemplo todos os clientes de um pedido:
=UNIRTEXTO(", ";VERDADEIRO;A2:A20)
Se você usa o Excel 2016 ou uma versão anterior, não tem UNIRTEXTO. Será preciso juntar com & e digitar o separador entre aspas:
=A2&", "&C2
Para evitar a vírgula quando uma célula estiver vazia, seria necessário um SE para cada coluna, e é por isso que a função nova economiza tanto trabalho.
Exemplo prático: preparar uma lista importada
Suponha que você exporte de um sistema uma planilha com uma coluna “Cliente” que traz nome e e-mail juntos, como “Cliente A – cliente.a@exemplo.com”, e algumas linhas vazias no meio. Para deixá-la pronta:
- Tire os espaços extras com
=ARRUMAR(A2)em uma coluna auxiliar. - Separe o nome com
=TEXTOANTES(B2;" - ")e o e-mail com=TEXTODEPOIS(B2;" - "), sendo B2 a célula já limpa. - Copie as colunas novas e cole com Colar Especial › Valores para que deixem de depender das fórmulas.
- Exclua as colunas auxiliares e confira se não ficaram linhas sem dados.
Linhas vazias atrapalham os filtros, as tabelas dinâmicas e os intervalos que o Excel detecta automaticamente. Se o arquivo for grande, a nossa ferramenta gratuita para excluir linhas vazias remove todas de uma vez, sem que você precise procurá-las. E se a lista tiver registros repetidos, depois você pode passá-la pela ferramenta para remover duplicatas.
Erros comuns e como evitá-los
- Números que não somam:
ESQUERDA,DIREITAeEXT.TEXTOsempre retornam texto. UseVALORou multiplique por 1 se precisar de um número. - Espaços invisíveis: um espaço no início desloca todas as posições. Aplique
ARRUMARantes de extrair. - #VALOR! com LOCALIZAR: aparece quando o caractere procurado não está na célula. Revise essas linhas ou use
SEERRO. - #NOME? com TEXTOANTES ou UNIRTEXTO: a sua versão do Excel não tem a função. Use a combinação de
ESQUERDA,EXT.TEXTOeLOCALIZAR, ou o operador&. - Separador de argumentos: o Excel em português usa ponto e vírgula; se você copiar uma fórmula em inglês com vírgulas, troque-as.
Conclusão
Com cinco funções você cobre quase qualquer necessidade de texto: ESQUERDA e DIREITA para pontas de tamanho fixo, EXT.TEXTO com LOCALIZAR para posições variáveis, TEXTOANTES e TEXTODEPOIS para cortar por um separador nas versões recentes e UNIRTEXTO para juntar. Limpe os espaços antes de começar e converta em valores ao terminar.
Perguntas frequentes
Qual é a diferença entre LOCALIZAR e PROCURAR?
As duas retornam a posição de um texto, mas PROCURAR diferencia maiúsculas de minúsculas e LOCALIZAR não. Além disso, LOCALIZAR aceita curingas como * e ?.
Posso separar texto sem fórmulas?
Sim. Com Dados › Texto para Colunas você divide uma coluna por um separador. Também pode usar o Preenchimento Relâmpago (Ctrl+E): digite o resultado esperado nas duas primeiras linhas e o Excel completa o resto seguindo o padrão.
Como coloco a primeira letra de cada palavra em maiúscula?
Use =PRI.MAIÚSCULA(A2). Ela transforma “ana lopes” em “Ana Lopes”. Para tudo em maiúsculas ou minúsculas, existem MAIÚSCULA e MINÚSCULA.
Como conto quantos caracteres tem uma célula?
Com =NÚM.CARACT(A2). Ela conta letras, números, sinais e também espaços, então ajuda a detectar espaços sobrando: se NÚM.CARACT(A2) e NÚM.CARACT(ARRUMAR(A2)) não coincidirem, a célula tem espaços a mais.
Experimente nossas ferramentas gratuitas
Compare, converta, junte e limpe suas planilhas pelo navegador, sem instalar nada.