Curso gratuito de Excel para empresas — Lição 4: funções de texto (ARRUMAR, MAIÚSCULA, ESQUERDA, EXT.TEXTO, LOCALIZAR, SUBSTITUIR, CONCAT) para limpar dados sujos

Cadastro cheio de espaços extras, nomes em CAIXA ALTA, telefones em formatos diferentes, CPFs sem pontuação e e-mails com maiúsculas misturadas? Nesta lição você padroniza tudo em minutos com as funções de texto do Excel, num problema real de importação de leads.
Bem-vindo(a) à Lição 4 — dados sujos são a maior dor silenciosa da empresa
Você já recebeu um arquivo do RH, do sistema de vendas ou de um formulário e ele veio assim: nomes com espaços extras, cidades em CAIXA ALTA, telefones em cinco formatos diferentes, e-mails com maiúsculas misturadas e CPFs uns com ponto, outros sem? Essa é a rotina de 90% dos analistas.
Nesta lição você vai aprender a limpar e padronizar tudo isso em minutos usando as funções de texto do Excel — sem precisar reprocessar planilha na mão. É a base para depois cruzar dados (Lição 3) sem retornar #N/D.
📚 Índice completo do curso (15 lições)
- Fundamentos e as 7 funções essenciais
- Funções lógicas: SE, E, OU, SES, SEERRO
- PROCV, ÍNDICE+CORRESP e PROCX
- Funções de texto (limpando dados sujos)
- Datas, horas e SLA
- Formatação condicional
- Tabelas do Excel (Ctrl+T)
- Tabela Dinâmica
- Gráficos que contam história
- Validação de dados e proteção
- Power Query
- Power Pivot e modelo de dados
- Macros e VBA — introdução
- Ponte com Power BI
- Projeto final — MRP (histórico, BOM, lead time, ordens de compra)
📥 Baixar planilha modelo COMPLETA (15 lições + Projeto MRP) — .xlsx com dados, exercícios, fórmulas prontas e gabarito.
📥 Baixe a planilha modelo
A planilha oficial do curso (Lições 1, 2 e 3) já traz a estrutura pronta. Para a Lição 4, use a aba de dados de Lições anteriores como base ou cole seus próprios dados sujos numa nova aba:
O problema real: 200 leads importados de um formulário
Sua equipe rodou uma campanha e exportou os leads. A base veio assim:
| Nome | Telefone | Cidade | |
|---|---|---|---|
| joão da SILVA | Joao.Silva@Gmail.COM | (11) 91234-5678 | SAO PAULO |
| MARIA souza | maria_souza@hotmail.com | 11987654321 | são paulo |
| pedro almeida | PEDRO@empresa.com.br | +55 11 99999-0000 | São Paulo |
Objetivo: entregar a base com nome em Pri.Maiúscula, e-mail em minúsculo, telefone padronizado como 11912345678 (só dígitos) e cidade em São Paulo. Vamos resolver função por função.
ARRUMAR — o remédio universal para espaços extras
Sintaxe: =ARRUMAR(texto). Remove espaços no início, no fim e reduz espaços duplos entre palavras a um único espaço.
É a primeira função que você aplica em QUALQUER coluna importada. Antes de fazer PROCV, antes de comparar textos, antes de qualquer coisa: passe ARRUMAR.
| Célula A2 | Fórmula | Resultado |
|---|---|---|
| " joão da SILVA " | =ARRUMAR(A2) | "joão da SILVA" |
| "pedro almeida" | =ARRUMAR(A2) | "pedro almeida" |
MAIÚSCULA, MINÚSCULA e PRI.MAIÚSCULA — padronizando a caixa
MAIÚSCULA(texto) → tudo em CAIXA ALTA. Útil para siglas, códigos, SKUs.
MINÚSCULA(texto) → tudo em minúsculas. Padrão obrigatório para e-mails, URLs, logins.
PRI.MAIÚSCULA(texto) → Primeira Letra De Cada Palavra Em Maiúscula. Padrão para nomes de pessoas e cidades.
| Objetivo | Fórmula | Resultado |
|---|---|---|
| Nome padronizado | =PRI.MAIÚSCULA(ARRUMAR(A2)) | "João Da Silva" ⚠ |
| E-mail padronizado | =MINÚSCULA(ARRUMAR(B2)) | "joao.silva@gmail.com" |
| Cidade padronizada | =PRI.MAIÚSCULA(ARRUMAR(D2)) | "São Paulo" |
⚠ Reparou no "Da"? PRI.MAIÚSCULA capitaliza toda palavra, inclusive preposições ("da", "de", "do"). Se isso te incomoda, use SUBSTITUIR depois para consertar (veja adiante).
ESQUERDA, DIREITA e EXT.TEXTO — extraindo pedaços de texto
ESQUERDA(texto; núm_caracteres) → pega os N primeiros caracteres.
DIREITA(texto; núm_caracteres) → pega os N últimos.
EXT.TEXTO(texto; posição_inicial; núm_caracteres) → pega N caracteres a partir de uma posição.
| Cenário | Fórmula | Resultado |
|---|---|---|
| DDD do telefone "11912345678" | =ESQUERDA(C2;2) | "11" |
| Últimos 4 dígitos do celular | =DIREITA(C2;4) | "5678" |
| Ano de "PED-2026-0451" | =EXT.TEXTO(A2;5;4) | "2026" |
| Domínio de "joao@empresa.com.br" | =EXT.TEXTO(B2;LOCALIZAR("@";B2)+1;100) | "empresa.com.br" |
LOCALIZAR e NÚM.CARACT — achando posição e medindo o texto
LOCALIZAR(o_que_procurar; onde; posição_inicial) → devolve a posição (número) onde o texto aparece. Não diferencia maiúscula de minúscula (use PROCURAR se quiser diferenciar).
NÚM.CARACT(texto) → conta quantos caracteres tem a célula. Perfeito para validar tamanhos (CPF = 11, CNPJ = 14, CEP = 8).
| Cenário | Fórmula | Resultado |
|---|---|---|
| Posição do "@" no e-mail | =LOCALIZAR("@";B2) | 5 |
| Pegar só o nome antes do "@" | =ESQUERDA(B2;LOCALIZAR("@";B2)-1) | "joao" |
| Tamanho de CPF (deve ser 11) | =NÚM.CARACT(E2) | 11 |
| CPF inválido? | =SE(NÚM.CARACT(E2)<>11;"⚠ ERRO";"OK") | — |
SUBSTITUIR e MUDAR — trocando texto dentro de texto
SUBSTITUIR(texto; texto_antigo; texto_novo; [ocorrência]) → troca TODAS as ocorrências (ou a N-ésima) de um texto por outro. É a função-canivete-suíço da limpeza.
MUDAR(texto; posição; núm_caracteres; texto_novo) → substitui por POSIÇÃO, não pelo conteúdo. Menos comum.
| Objetivo | Fórmula | Resultado |
|---|---|---|
| Remover parênteses do telefone | =SUBSTITUIR(SUBSTITUIR(C2;"(";"");")";"") | "11 91234-5678" |
| Remover espaços do telefone | =SUBSTITUIR(C2;" ";"") | "(11)91234-5678" |
| Remover hífen do telefone | =SUBSTITUIR(C2;"-";"") | "(11) 912345678" |
| Padronizar "Da" → "da" no nome | =SUBSTITUIR(PRI.MAIÚSCULA(A2);" Da ";" da ") | "João da Silva" |
Truque de ouro: combine 4 SUBSTITUIR aninhados para deixar telefone só com dígitos:
=SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(C2;"(";"");")";"");" ";"");"-";"")
Se o telefone tem "+55" no começo, adicione mais um SUBSTITUIR trocando "+55" por "".
CONCAT e UNIRTEXTO — juntando pedaços
CONCAT(texto1; texto2; ...) → junta tudo, um do lado do outro. No Excel antigo era CONCATENAR (ainda funciona) ou o operador &.
UNIRTEXTO(delimitador; ignorar_vazias; texto1; texto2; ...) → junta com um separador entre cada pedaço. Fantástico para montar endereço completo, nome + sobrenome, chave composta para PROCV.
| Cenário | Fórmula | Resultado |
|---|---|---|
| Nome + sobrenome | =CONCAT(A2;" ";B2) | "João Silva" |
| Endereço completo | =UNIRTEXTO(", ";VERDADEIRO;E2;F2;G2;H2) | "Rua X, 100, Vila Y, São Paulo" |
| Chave composta p/ PROCV | =A2 & "-" & B2 | "SP-2026" |
Bônus: TEXTO() — formatando números e datas como texto
TEXTO(valor; formato) → converte um número/data em texto formatado. Perfeito para montar frases dinâmicas: "Faturamento de janeiro: R$ 45.320,00".
| Cenário | Fórmula | Resultado |
|---|---|---|
| Data formatada | =TEXTO(HOJE();"dd/mm/aaaa") | "12/07/2026" |
| Moeda | =TEXTO(A2;"R$ #.##0,00") | "R$ 45.320,00" |
| Frase dinâmica | ="Total: " & TEXTO(A2;"R$ #.##0,00") | "Total: R$ 45.320,00" |
🎯 Solução completa do problema (leads padronizados)
Aplicando tudo o que aprendemos, a base fica assim (colunas de fórmula ao lado das originais):
| Campo | Fórmula final |
|---|---|
| Nome limpo | =SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(PRI.MAIÚSCULA(ARRUMAR(A2));" Da ";" da ");" De ";" de ");" Do ";" do ") |
| E-mail limpo | =MINÚSCULA(ARRUMAR(B2)) |
| Telefone só dígitos | =SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(C2;"+55";"");"(";"");")";"");" ";"");"-";"") |
| Cidade padronizada | =PRI.MAIÚSCULA(ARRUMAR(D2)) |
| Validação de telefone (10 ou 11) | =SE(OU(NÚM.CARACT(K2)=10;NÚM.CARACT(K2)=11);"OK";"⚠ Revisar") |
| Domínio do e-mail | =EXT.TEXTO(I2;LOCALIZAR("@";I2)+1;100) |
Agora sim: base pronta para importar no CRM, cruzar com PROCV (Lição 3) ou disparar campanha sem erro.
🧠 Quiz — teste o que você aprendeu
1) Qual função tira espaços duplos entre palavras e espaços no início/fim?
Ver resposta
=ARRUMAR(texto)
2) Você quer o e-mail em minúsculas SEM espaços — qual fórmula usar?
Ver resposta
=MINÚSCULA(ARRUMAR(B2))
3) Como extrair só o domínio de "maria@empresa.com.br"?
Ver resposta
=EXT.TEXTO(B2;LOCALIZAR("@";B2)+1;100) → "empresa.com.br"
4) Você quer o telefone "(11) 91234-5678" como só dígitos. Escreva a fórmula.
Ver resposta
=SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(SUBSTITUIR(C2;"(";"");")";"");" ";"");"-";"") → "11912345678"
5) Como validar se um CPF (só dígitos) está com o tamanho certo?
Ver resposta
=SE(NÚM.CARACT(E2)=11;"OK";"⚠ ERRO")
6) Qual a diferença entre CONCAT e UNIRTEXTO?
Ver resposta
CONCAT só junta. UNIRTEXTO junta com um delimitador entre cada pedaço e pode ignorar células vazias. Para endereço completo, UNIRTEXTO é imbatível.
📝 Exercícios práticos
- Pegue uma lista de e-mails da sua empresa (ou invente 10) com formatações misturadas e padronize tudo em minúsculo + sem espaços.
- Numa lista de nomes de clientes, crie uma coluna "Iniciais" que devolva as iniciais de cada nome (ex: "João da Silva" → "J.S.").
- Numa lista de CEPs digitados de formas diferentes ("01310-100", "01310100", " 01310-100 "), padronize todos como "01310-100" usando SUBSTITUIR, ARRUMAR e ESQUERDA/DIREITA.
- Crie uma coluna que diga se um telefone é celular (11 dígitos) ou fixo (10 dígitos) usando NÚM.CARACT e SE.
- Concatene "Nome + (CPF)" para gerar uma etiqueta única de cliente, evitando espaços duplos.
Poste seus resultados no WhatsApp — mando feedback de graça.
Próxima lição: datas e horas — controle de prazos e SLA
Na Lição 5 (em breve) vamos dominar HOJE, AGORA, DIATRABALHOTOTAL, DATADIF e cálculos de diferença entre datas — para controlar prazos de projeto, SLA de atendimento, tempo de casa de funcionário e muito mais.
Se você quer que a Koda Digital limpe uma base grande da sua empresa ou monte um pipeline automatizado (Excel → Power Query → dashboard), fale no WhatsApp. Fazemos consultoria e projetos sob medida.
Referências e ferramentas citadas
Links oficiais das empresas e serviços mencionados neste artigo. Alguns são programas de afiliados/parceiros — usar nossos links ajuda a manter o blog gratuito, sem custo extra para você.
- Função ARRUMAR (Microsoft) ↗
Documentação oficial da ARRUMAR
- Função SUBSTITUIR (Microsoft) ↗
Documentação oficial da SUBSTITUIR
- Funções de texto (Microsoft) ↗
Referência completa de funções de texto
- Função EXT.TEXTO / EXT.TEXTOB ↗
Documentação oficial da EXT.TEXTO
- Função UNIRTEXTO (Microsoft) ↗
Documentação oficial da UNIRTEXTO
- Power Query — Transformar coluna de texto ↗
Alternativa mais robusta para limpeza em massa
Quer aplicar isso na sua empresa?
Fale com a Koda Digital e receba um plano sob medida.
Falar no WhatsApp