Guia de Funções de Texto do Excel
Por que as Funções de Texto São o Canivete Suíço dos Seus Dados
Os dados do mundo real são bagunçados. Nomes chegam como "Sobrenome, Nome Meio", endereços amontoam rua, cidade, estado e CEP em uma única célula, e códigos de produto incorporam significado em suas posições de caractere. As funções de texto são as ferramentas que limpam, dividem, combinam e extraem significado desse caos. Sem elas, você edita manualmente milhares de células. Com elas, você escreve uma fórmula e arrasta para baixo.
A biblioteca de funções de texto do Excel é extensa. Este guia cobre as funções essenciais que resolvem 90% dos problemas reais com texto, organizadas do simples ao avançado.
Passo a Passo: Limpe e Reestruture Dados de Contato Bagunçados
Cenário: Você recebe uma lista de contatos onde cada célula contém "Sobrenome, Nome | Empresa | Telefone | Email" — tudo em uma coluna. Você precisa de cinco colunas limpas: Sobrenome, Nome, Empresa, Telefone, Email.
Passo 1 — Entenda o padrão dos seus dados
- Observe de 5 a 10 células de amostra. Confirme se o delimitador é consistente: o símbolo pipe
|separa os campos, vírgula-espaço separa sobrenome e nome. - Observe irregularidades: algumas entradas podem usar "Empresa Ltda." vs "Empresa, Ltda." — a vírgula nos nomes das empresas pode complicar as coisas. Verifique se o delimitador pipe é realmente o separador seguro.
Passo 2 — Divida pelo delimitador principal (pipe)
- Insira 5 colunas à direita dos seus dados. Rotule-as como Sobrenome, Nome, Empresa, Telefone, Email.
- Uma abordagem mais simples — Texto para Colunas: Selecione sua coluna de dados. Dados > Texto para Colunas > Delimitado > marque Outro e digite
|. Clique em Concluir. O Excel divide em 5 colunas. - Ou use fórmulas para divisões dinâmicas:
- Empresa (C2):
=ARRUMAR(EXT.TEXTO(SUBSTITUIR($A2;"|";REPT(" ";100));100;100)) - Este truque de SUBSTITUIR+REPT substitui cada delimitador por 100 espaços, depois EXT.TEXTO extrai cada segmento. ARRUMAR remove os espaços extras.
- Para o 2º segmento, altere
;100;100para;200;100; para o 3º use;300;100; etc.
Passo 3 — Divida o campo Nome em Sobrenome e Nome
- Sobrenome:
=ESQUERDA(B2; LOCALIZAR(","; B2)-1)— tudo antes da vírgula. - Nome:
=ARRUMAR(DIREITA(B2; NÚM.CARACT(B2)-LOCALIZAR(","; B2)-1))— tudo depois da vírgula, com ARRUMAR para remover o espaço inicial. - Se seus dados tiverem nomes do meio, isso pega tudo depois da vírgula, o que os trata com elegância.
Passo 4 — Limpe os números de telefone
- Seus números de telefone extraídos podem aparecer como " 555-0100 " (espaços extras) ou "(555) 0100" (formatos mistos).
- Remova caracteres não numéricos (Excel 365):
=UNIRTEXTO(""; VERDADEIRO; SE(ÉNÚM(--EXT.TEXTO(D2; SEQUÊNCIA(NÚM.CARACT(D2)); 1)); EXT.TEXTO(D2; SEQUÊNCIA(NÚM.CARACT(D2)); 1); "")) - Para Excel mais antigo, use SUBSTITUIR aninhado:
=SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(ARRUMAR(D2);"(";"");")";"");"-";"");" ";"") - Reformate como (XXX) XXX-XXXX:
=TEXTO(TEL_LIMPO;"(000) 000-0000")onde TEL_LIMPO é o resultado acima.
Técnicas Principais
- UNIRTEXTO para combinar:
=UNIRTEXTO(", "; VERDADEIRO; B2:B10)une valores com um delimitador e ignora células vazias (argumento VERDADEIRO). Muito mais limpo que=A2&", "&B2&", "&C2. - TEXTO para formatação de números em strings:
="Receita: " & TEXTO(B2; "R$#.##0,00")preserva a formatação ao combinar números com texto. Sem TEXTO, o número perde seu formato. - SUBSTITUIR para substituição direcionada:
=SUBSTITUIR(A2; "Antigo"; "Novo")substitui todas as ocorrências. Adicione um 4º argumento para substituir apenas a enésima ocorrência:=SUBSTITUIR(A2; "-"; "|"; 2)substitui apenas o segundo hífen. - NÚM.CARACT para validação:
=SE(NÚM.CARACT(B2)<>10; "Telefone Inválido"; "OK")detecta números de telefone com formatação incorreta instantaneamente.
Erros Comuns
- Usar LOCALIZAR sem SEERRO quando o texto pode estar ausente.
=LOCALIZAR("@"; A2)retorna #VALOR! se não houver @. Envolva com SEERRO:=SEERRO(LOCALIZAR("@"; A2); 0). - Esquecer que LOCALIZAR começa a contar em 1. EXT.TEXTO com posição 0 gera erro. Subtraia 1 quando necessário para permanecer na posição 1 ou acima.
- ARRUMAR remove apenas espaços ASCII (char 32). Dados da web geralmente contêm espaços não quebráveis (char 160). Use
=SUBSTITUIR(A2; CARACT(160); " ")antes de ARRUMAR. - Erros de capitalização com PRI.MAIÚSCULA. "MCDONALD" vira "Mcdonald," "EUA" vira "Eua." Requer correção manual ou uma tabela de consulta personalizada para nomes próprios.
Dicas Avançadas
- Extraia a enésima palavra:
=ARRUMAR(EXT.TEXTO(SUBSTITUIR(A2; " "; REPT(" "; NÚM.CARACT(A2))); (N-1)*NÚM.CARACT(A2)+1; NÚM.CARACT(A2))). Defina N=1 para a primeira palavra, N=2 para a segunda, etc. - DIVIDIRTEXTO (Excel 365):
=DIVIDIRTEXTO(A2; "|")divide dinamicamente strings delimitadas entre colunas. Combine com UNIRTEXTO para remodelagem poderosa sem colunas auxiliares. - REPT para indicadores visuais na célula:
=REPT("|"; B2/10)cria um gráfico de barras dentro de uma célula. Combine com a cor da fonte da Formatação Condicional para comparações visuais instantâneas sem objetos de gráfico.