=TEXTBEFORE(A2," ") retorna tudo o que vem antes do primeiro espaço, então Ana Silva dá Ana, e =TEXTAFTER(A2," ") retorna tudo o que vem depois dele, Silva. No Excel em português essas funções se chamam TEXTOANTES (TEXTBEFORE em inglês) e TEXTODEPOIS (TEXTAFTER em inglês), e você também pode digitar as fórmulas em português na tabela, com ponto e vírgula: =TEXTOANTES(A2;" "). Arraste as duas fórmulas para baixo e cada nome completo fica separado em duas colunas.
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
| 5 | Dara Kelly | Dara | Kelly |
| 6 | Eli Novak | Eli | Novak |
=TEXTOANTES(A2;" ")Mude um nome na coluna A e as duas colunas acompanham. TEXTOANTES, TEXTODEPOIS e DIVIDIRTEXTO precisam do Microsoft 365 ou do Excel 2024. Para o Excel 2021 e anteriores, a versão com ESQUERDA e PROCURAR está mais abaixo.
DIVIDIRTEXTO: separar uma célula em colunas
=DIVIDIRTEXTO(A2;" ") (TEXTSPLIT em inglês) corta o texto em cada espaço e despeja cada parte na sua própria célula. Uma fórmula preenche tantas colunas quantas forem as partes:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Text | ||||
| 2 | Ana Maria Silva | Ana | Maria | Silva | |
| 3 | Paris, Lyon, Nice | Paris | Lyon | Nice |
=DIVIDIRTEXTO(A2;" ")- O delimitador pode ter mais de um caractere:
", "separa em uma vírgula seguida de espaço, então as partes não começam com espaço. - Deixe espaço para o resultado. Se uma célula à direita não estiver vazia, a fórmula mostra #DESPEJAR! (
#SPILL!em inglês; a tabela mostra os nomes de erro em inglês). - As partes são sempre texto, inclusive os dígitos, então a SOMA pula essas células. Coloque dois sinais de menos na frente,
=--DIVIDIRTEXTO(A2;","), quando precisar de números.
O terceiro argumento é um delimitador de linha. Com os dois, a DIVIDIRTEXTO monta uma pequena tabela a partir de uma célula: as vírgulas separam as colunas e os pontos e vírgulas, as linhas.
| A | B | |
|---|---|---|
| 1 | Teams | |
| 2 | Ana,Red;Ben,Blue;Chen,Green | |
| 3 | ||
| 4 | Ana | Red |
| 5 | Ben | Blue |
| 6 | Chen | Green |
=DIVIDIRTEXTO(A2;",";";")Mais duas formas que funcionam no Excel, mostradas aqui como texto:
=TEXTSPLIT(A2,,", ") one piece per row: the column delimiter is left out
=TEXTSPLIT(A2,{";",","}) several delimiters in braces: splits at ; or ,
No Excel em português, a primeira é =DIVIDIRTEXTO(A2;;", "); a segunda usa uma constante de matriz, cujos separadores dependem da configuração regional, e por isso fica aqui na forma em inglês. A primeira transforma excel, formulas, text em uma coluna de três células, que é como você passa uma lista digitada em uma célula para linhas. A segunda transforma red;green,blue em red, green, blue.
Nomes do meio e "Sobrenome, Nome"
TEXTODEPOIS(A2;" ") retorna tudo depois do primeiro espaço, então para Ana Maria Silva ela retorna Maria Silva. Para pegar a última palavra, conte a partir do fim com o número de instância -1. Para nomes escritos como Silva, Ana, separe na vírgula seguida de espaço:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Maria Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Li Wu | Chen | Wu |
| 5 | Cher | Cher | |
| 6 | |||
| 7 | Last, First | First | Last |
| 8 | Silva, Ana | Ana | Silva |
=TEXTODEPOIS(A2;" ";-1)Quando o delimitador não existe, TEXTOANTES e TEXTODEPOIS retornam #N/D (#N/A), e um nome de uma palavra só, como Cher, não tem espaço. A linha 5 usa o sexto argumento, o valor a retornar no lugar: =TEXTOANTES(A5;" ";;;;A5) retorna o nome inteiro e TEXTODEPOIS(...;"") retorna uma célula vazia.
| A | B | C | |
|---|---|---|---|
| 1 | User | Domain | |
| 2 | ana.silva@coddy.tech | ana.silva |
Sua vez: Em C2, retorne o domínio do endereço de email em A2: tudo depois do @.
Separar nomes no Excel antigo
Sem TEXTOANTES e TEXTODEPOIS, encontre a posição do espaço com a PROCURAR (FIND em inglês) e corte em volta dela com ESQUERDA, EXT.TEXTO e DIREITA:
| A | B | C | |
|---|---|---|---|
| 1 | Full name | First | Last |
| 2 | Ana Silva | Ana | Silva |
| 3 | Ben Okafor | Ben | Okafor |
| 4 | Chen Wu | Chen | Wu |
=ESQUERDA(A2;PROCURAR(" ";A2)-1)PROCURAR(" ";A2)é a posição do espaço: 4 emAna Silva.ESQUERDA(A2;4-1)pega os 3 caracteres antes dele.EXT.TEXTO(A2;4+1;100)pega até 100 caracteres a partir do caractere depois do espaço. 100 é só "mais do que qualquer nome";=DIREITA(A2;NÚM.CARACT(A2)-PROCURAR(" ";A2))dá o mesmo resultado com o tamanho exato.
Essas fórmulas retornam #VALOR! (#VALUE!) quando não há espaço. Envolva-as na SEERRO, =SEERRO(ESQUERDA(A2;PROCURAR(" ";A2)-1);A2), para retornar a célula inteira no lugar.
| A | B | |
|---|---|---|
| 1 | Code | Prefix |
| 2 | KT-1043-BLUE |
Sua vez: Retorne em B2 a parte do código do produto antes do primeiro hífen, usando ESQUERDA e PROCURAR.
Texto para Colunas e Preenchimento Relâmpago
Para separar uma coluna uma vez só, sem fórmulas:
- Selecione a coluna de nomes completos. Confira se as colunas à direita estão vazias, porque o Texto para Colunas escreve por cima delas.
- Dados > Texto para Colunas.
- Escolha Delimitado, clique em Avançar, marque Espaço (ou Vírgula, ou digite outro caractere em Outros) e clique em Avançar.
- A primeira parte substitui os nomes completos. Para mantê-los, defina o Destino como a célula vazia à direita deles e clique em Concluir.
O Preenchimento Relâmpago é mais rápido para um padrão: digite Ana ao lado de Ana Silva, pressione Enter, depois Ctrl+E ou Dados > Preenchimento Relâmpago, e o Excel preenche os primeiros nomes das outras linhas. As duas ferramentas gravam valores fixos. Se os nomes mudarem depois, a separação não muda; uma fórmula muda.
Perguntas frequentes
Como separar nome e sobrenome no Excel?
Com um nome como Ana Silva em A2, =TEXTOANTES(A2;" ") dá Ana e =TEXTODEPOIS(A2;" ";-1) dá Silva, mesmo quando existe um nome do meio. No Excel 2021 e anteriores, use =ESQUERDA(A2;PROCURAR(" ";A2)-1) para o primeiro nome.
Quais versões do Excel têm a DIVIDIRTEXTO?
DIVIDIRTEXTO, TEXTOANTES e TEXTODEPOIS estão no Microsoft 365, no Excel para a Web e no Excel 2024. O Excel 2021 e anteriores mostram #NOME?; use ESQUERDA, EXT.TEXTO, DIREITA e PROCURAR nessas versões, ou Dados > Texto para Colunas.
Como dividir uma célula por vírgula no Excel?
=DIVIDIRTEXTO(A2;", ") despeja cada parte na sua própria coluna. Para colocar as partes em linhas, deixe o delimitador de coluna vazio: =DIVIDIRTEXTO(A2;;", ").
Por que a TEXTOANTES retorna #N/D?
O delimitador não está na célula, por exemplo um nome único sem espaço. Dê um valor para esse caso no sexto argumento: =TEXTOANTES(A2;" ";;;;A2) retorna a célula inteira quando não há espaço.