TEXTOANTES e TEXTODEPOIS no Excel: separar textos
Atualizado em 10. November 2026 · Equipe Exercícios Excel
=TEXTOANTES(A2;"@") pega o usuário do e-mail.Sintaxe
=TEXTOANTES(texto; delimitador; [núm_instância])- texto
- A célula com o texto.
- delimitador
- O separador, entre aspas: "@", " ", "-".
- núm_instância
- Opcional: qual ocorrência usar. -1 conta do fim.
Pratique agora
Em B5, pegue o primeiro nome de A5 (o texto antes do primeiro espaço).
Primeiro e último nome
- Primeiro nome:
=TEXTOANTES(A5;" ") - Último sobrenome:
=TEXTODEPOIS(A5;" ";-1)
Versões do Excel
Essas funções existem no Excel 365 e no Excel na Web. Nas versões antigas, use ESQUERDA com PROCURAR.
Passo a passo
Escreva =TEXTOANTES( e clique na célula. Depois, entre aspas, o separador: um espaço, um @, um traço. Feche o parêntese. O resultado é tudo o que vem antes da primeira vez que o separador aparece. A TEXTODEPOIS funciona igual e traz tudo o que vem depois.
=TEXTODEPOIS(A2;"@")Escolher qual ocorrência
O terceiro argumento diz qual vez do separador usar. Números negativos contam do fim.
=TEXTOANTES(A5;" ";2): as duas primeiras palavras=TEXTODEPOIS(A5;" ";-1): a última palavra=TEXTOANTES(A5;" ";-1): tudo menos a última palavra
Exemplo do dia a dia: nome e sobrenome
Com um nome completo, como "Fernanda Costa Lima", o primeiro nome é o texto antes do primeiro espaço e o sobrenome principal costuma ser a última palavra.
- Primeiro nome:
=TEXTOANTES(A2;" ") - Último sobrenome:
=TEXTODEPOIS(A2;" ";-1)
Com essas duas colunas, uma mensagem começa com "Olá, Fernanda" e uma lista de presença fica em ordem de sobrenome.
Exemplo do dia a dia: texto entre dois sinais
Para pegar o que está entre parênteses, junte as duas funções: primeiro tudo depois do "(", e daí tudo antes do ")".
=TEXTOANTES(TEXTODEPOIS(A2;"(");")")Com "Notebook (Dell)", o resultado é "Dell".
Quando o separador não existe
Se o separador não aparece, o resultado é #N/D. O quinto argumento evita isso: com 1, o Excel trata o fim do texto como um separador. Ou use o sexto argumento para dizer o que mostrar.
=TEXTOANTES(A2;" ";;;;A2)Assim, um nome sem espaço aparece inteiro, em vez de erro.
Nas versões antigas
Sem TEXTOANTES, use ESQUERDA com PROCURAR: =ESQUERDA(A2;PROCURAR(" ";A2)-1). Para TEXTODEPOIS, use EXT.TEXTO com PROCURAR: =EXT.TEXTO(A2;PROCURAR("@";A2)+1;100).
No Excel em inglês e no Google Planilhas
No Excel em inglês, as funções se chamam TEXTBEFORE e TEXTAFTER. No Google Planilhas, elas não existem com esses nomes; use ESQUERDA e EXT.TEXTO com PROCURAR, ou a função SPLIT.
Exemplo do dia a dia: cidade e estado
Endereços terminam com "Curitiba - PR". A cidade é o texto antes do último traço e o estado é o texto depois dele. Com -1, as funções usam o último traço, mesmo que o nome da cidade tenha traço também.
- Cidade:
=ARRUMAR(TEXTOANTES(A2;"-";-1)) - Estado:
=ARRUMAR(TEXTODEPOIS(A2;"-";-1))
Exemplo do dia a dia: pasta e arquivo
Num caminho como "C:\Vendas\2027\marco.xlsx", o nome do arquivo vem depois da última barra. A TEXTODEPOIS com -1 pega "marco.xlsx", e a TEXTOANTES com o ponto tira a extensão.
=TEXTOANTES(TEXTODEPOIS(A2;"\";-1);".")Erros comuns
- #N/D: o separador não aparece no texto; use o argumento de "se não encontrado"
- #NOME?: o Excel não é 365 nem Web; use ESQUERDA com PROCURAR
- Espaços sobrando no resultado: o separador era " - " e você usou só "-"; use ARRUMAR por fora ou inclua os espaços no separador
TEXTOANTES numa coluna inteira
No Excel 365, uma fórmula só pode tratar a coluna toda: =TEXTOANTES(A2:A500;" ") devolve o primeiro nome de todas as linhas de uma vez. O resultado se espalha para baixo. Se uma linha não tiver espaço, ela mostra #N/D, a não ser que você use o argumento de "se não encontrado". Isso economiza tempo em listas grandes, porque não é preciso arrastar a fórmula.
Exemplo do dia a dia: código antes da descrição
Uma lista de produtos vem como "P-103 | Sabão em pó". O código fica antes da barra vertical. A TEXTOANTES pega o código e a TEXTODEPOIS pega a descrição. Use ARRUMAR por fora para tirar o espaço em volta da barra.
=ARRUMAR(TEXTOANTES(A2;"|"))Erros comuns
#N/D
O separador não existe no texto.
Perguntas frequentes
TEXTOANTES funciona com quebra de linha?
Sim. Use CARACT(10) como separador: =TEXTOANTES(A2;CARACT(10)) pega a primeira linha da célula.
Qual a diferença entre TEXTOANTES e ESQUERDA?
A ESQUERDA pega um número fixo de caracteres. A TEXTOANTES pega até um separador, então funciona com textos de tamanhos diferentes.
Como separar em várias colunas de uma vez?
No Excel 365, use DIVIDIRTEXTO: =DIVIDIRTEXTO(A2;" ") coloca cada palavra numa coluna.
TEXTOANTES funciona no Excel 2021?
Não. Ela existe no Excel 365 e no Excel na Web.
TEXTOANTES diferencia maiúsculas?
Sim, por padrão. O quarto argumento com 1 faz ignorar: =TEXTOANTES(A2;" x ";;1).
Dá para usar mais de um separador?
Sim, entre chaves: =TEXTOANTES(A2;{" ";"-"}) para no primeiro espaço ou traço.
E para separar em várias colunas?
Use DIVIDIRTEXTO no Excel 365, ou Dados > Texto para Colunas.
Veja também
Treine TEXTOANTES e TEXTODEPOIS até ficar fácil
A lição "TEXTVOR und TEXTNACH" tem 5 exercícios com correção na hora.