Capítulo 04: Limpeza e Manipulação de Strings (Texto)
🎯 Objetivo da Aula
Nem todo dado em sistemas logísticos aparece de forma limpa e organizada na tela. Na vida real, 80% do trabalho de um analista envolve limpar e formatar dados (processo chamado de “Sanitização de Dados”).
Nesta aula, o objetivo é dominar o tipo primitivo de dado String (Texto). Vamos aprender a fatiar, juntar e higienizar textos exportados por sistemas confusos utilizando funções como ARRUMAR, e extrair trechos úteis usando ESQUERDA e DIREITA.
🏢 O Cenário Prático (Seu Desafio)
Situação: Você exportou um relatório de códigos de rastreamento do antigo sistema da FastLog para o seu Excel. O problema? Os dados vieram totalmente bagunçados. Existem “espaços em branco invisíveis” sujando as células, e os códigos trazem uma mistura de Letras do Estado com Números do Lote. Missão: Aplicar funções nativas de tratamento de texto para remover a sujeira (espaços fantasmas) e extrair separadamente a UF (Estado) e a numeração final do lote. Transforme o lixo digital em dados profissionais tabelados.
🧠 Fundamentos: A Teoria Traduzida
Em lógica de programação, qualquer coisa digitada (mesmo que pareçam números, mas que não servirão para fazer matemática) é chamada de String (Cadeia de Caracteres).
Como as Strings são tratadas pela máquina como uma “salsicha inteira” de letras em sequência, nós podemos manipulá-las usando funções específicas:
- Limpeza (Trim): Usa-se a função
ARRUMAR(). Remove espaços em branco antes e depois da palavra (muito comum quando o usuário cadastra algo batendo no “Espaço” sem querer). - Fatiamento (Substrings): Usa-se
ESQUERDA(texto; num_caracteres)ouDIREITA(texto; num_caracteres)para instruir o computador a pegar apenas um pedaço predeterminado do texto inteiro (sempre a partir da borda esquerda ou direita). - Fatiamento no Meio do Texto: Quando o pedaço que você precisa não está em nenhuma das duas pontas, mas sim no meio, usa-se
EXT.TEXTO(texto; núm_inicial; núm_caract). Ela conta a partir de qual posição do texto começar (núm_inicial) e quantos caracteres pegar a partir dali (núm_caract). Exemplo: seA2contém"SP-2026-X", a fórmula=EXT.TEXTO(A2; 4; 4)começa a contar na 4ª posição do texto (o “2” de “2026”) e extrai 4 caracteres, retornando"2026". - Aninhamento de Funções: Assim como em qualquer linguagem, uma função pode ser usada como argumento de outra — colocamos uma função “dentro” dos parênteses da outra. O Excel calcula sempre de dentro para fora: primeiro resolve a função mais interna, depois usa o resultado dela como entrada da função externa. Exemplo:
=PRI.MAIÚSCULA(ARRUMAR(A2))primeiro executaARRUMAR(A2)(limpando os espaços) e só depois aplicaPRI.MAIÚSCULAsobre o resultado já limpo.
graph TD
A["Texto Sujo: [ SP-LOG-991 ]"] -- "1) Função ARRUMAR" --> B["Texto Limpo: [SP-LOG-991]"]
B -- "2) ESQUERDA(Texto; 2)" --> C["UF: SP"]
B -- "3) DIREITA(Texto; 3)" --> D["Número: 991"]
style A fill:#e74c3c,stroke:#fff,stroke-width:2px,color:#fff
style B fill:#f39c12,stroke:#fff,stroke-width:2px,color:#fff
style C fill:#217346,stroke:#fff,stroke-width:2px,color:#fff
style D fill:#2980b9,stroke:#fff,stroke-width:2px,color:#fff- Visão de Programador: O conceito de manipulação de String existe em 100% das linguagens computacionais. Em Python e JavaScript, por exemplo, o
ARRUMARé o famoso.trim()ou.strip(), e o Fatiamento de letras é feito via comandos como.slice().
📖 Exemplo Guiado: Separando Textos Simples
Antes de irmos para a base de dados real, vamos entender como fatiar uma palavra simples. Imagine o código de um contêiner: SPO-CARGA.
Passo a Passo
- Digite
SPO-CARGAna célula A1. - Na célula B1, queremos apenas o prefixo (SPO). Use a função:
=ESQUERDA(A1; 3). - Na célula C1, queremos o tipo (CARGA). Use a função:
=DIREITA(A1; 5).
✅ Resultado Esperado (Exemplo)
| A | B | C | |
|---|---|---|---|
| 1 | SPO-CARGA | SPO | CARGA |
🔑 Gabarito de Fórmulas
| A | B | C | |
|---|---|---|---|
| 1 | SPO-CARGA | =ESQUERDA(A1; 3) | =DIREITA(A1; 5) |
🛠️ Prática Obrigatória 1: Higienização de Rastreadores
Siga o passo a passo rigorosamente para criar o processo mecânico de limpeza:
Passo 1: Inserindo o “Lixo” (Dados Brutos Exportados)
Abra uma planilha limpa (Planilha 1) e crie o painel de exportação bruta a partir de A1:
- A1:
Cód Sujo do Sistema - A2:
RJ-LOG-991(Atenção: digite propositalmente uns 3 espaços em branco batendo no teclado antes e depois do texto, e dê enter) - A3:
BA-LOG-442 - A4:
MG-LOG-110
Passo 2: Limpeza com a Função ARRUMAR
Se tentarmos usar esses códigos com espaços para alguma busca automatizada futuramente, o sistema não vai achar.
- Na célula B1, digite o cabeçalho:
Cód Limpo - Na célula B2, use a função de limpeza:
=ARRUMAR(A2) - Dê Enter e arraste a fórmula até B4.
Passo 3: Fatiando a String (Extraindo a UF - Estado)
A filial comercial pediu para você separar a sigla do estado em uma coluna própria para emitir as notas fiscais.
- Na célula C1, digite:
UF (Estado) - Na célula C2, usaremos a função lógica de fatiamento à esquerda pedindo 2 caracteres:
=ESQUERDA(B2; 2) - Arraste a fórmula para baixo.
Passo 4: Fatiando a String (Extraindo a Numeração de Lote)
Por fim, precisamos separar só os últimos 3 algarismos numéricos do código final.
- Na célula D1, digite:
Lote Numérico - Na célula D2, extraia pela direita pedindo 3 caracteres:
=DIREITA(B2; 3) - Arraste para baixo.
✅ Resultado Esperado (Prática 1)
Sua base processada e higienizada deve se comportar exatamente como na tabela abaixo:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Cód Sujo do Sistema | Cód Limpo | UF (Estado) | Lote Numérico |
| 2 | RJ-LOG-991 | RJ-LOG-991 | RJ | 991 |
| 3 | BA-LOG-442 | BA-LOG-442 | BA | 442 |
| 4 | MG-LOG-110 | MG-LOG-110 | MG | 110 |
🔑 Gabarito de Fórmulas
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Cód Sujo do Sistema | Cód Limpo | UF (Estado) | Lote Numérico |
| 2 | RJ-LOG-991 | =ARRUMAR(A2) | =ESQUERDA(B2; 2) | =DIREITA(B2; 3) |
🛠️ Prática Obrigatória 2: Padronização de Nomes de Motoristas
O setor de RH enviou uma lista com os nomes dos motoristas, mas eles digitaram tudo em minúsculo e com espaços a mais.
Passo 1: Inserindo os Dados
Na Planilha 2 do mesmo arquivo, crie a tabela:
- A1:
Nome Bagunçado - A2:
joão silva - A3:
maria souza - A4:
carlos mendes
Passo 2: Arrumando e Capitalizando
Vamos usar duas funções juntas (aninhadas): ARRUMAR para tirar os espaços e PRI.MAIÚSCULA para deixar a primeira letra de cada palavra maiúscula.
- Na célula B1, digite:
Nome Padrão - Na célula B2, digite:
=PRI.MAIÚSCULA(ARRUMAR(A2)) - Arraste para baixo até B4.
✅ Resultado Esperado (Prática 2)
Os nomes devem estar perfeitamente formatados para um relatório executivo:
| A | B | |
|---|---|---|
| 1 | Nome Bagunçado | Nome Padrão |
| 2 | joão silva | João Silva |
| 3 | maria souza | Maria Souza |
| 4 | carlos mendes | Carlos Mendes |
🔑 Gabarito de Fórmulas
| A | B | |
|---|---|---|
| 1 | Nome Bagunçado | Nome Padrão |
| 2 | joão silva | =PRI.MAIÚSCULA(ARRUMAR(A2)) |
📤 Instruções de Entrega (Microsoft Teams)
Após finalizar as duas práticas obrigatórias no mesmo arquivo Excel (em abas separadas):
- Salve o arquivo no formato Excel com o nome:
Atividade_04_SeuNome_SeuSobrenome.xlsx - Acesse o Microsoft Teams na equipe da turma.
- Vá na guia Tarefas (Assignments).
- Encontre a tarefa vinculada à “Capítulo 04 - Manipulação de Strings”.
- Clique em Anexar > Carregar deste dispositivo e faça o upload.
- Clique no botão roxo Entregar (Turn In) para computar a entrega.
💡 Checkpoint de Lógica
Você acabou de aplicar algoritmos nativos de tratamento de Strings. Lembre-se da lição principal: Strings (Textos) não servem para fazer contas nativamente. O número 991 isolado na coluna D é resultado de um recorte de texto e, para linguagens de programação, ainda é Texto. Para somar textos numéricos, aplicamos um Cast (Conversão de Tipo Primitivo), usando no Excel a função =VALOR(...).
🔥 Desafio de Fixação: Extração de Ano
Imagine que os códigos de rastreio agora seguem o padrão SP-2026-X.
- Na Planilha 3, digite esse código na célula A2.
- Use a função
=EXT.TEXTO(A2; 4; 4)para extrair apenas o ano “2026” na célula B2.
✅ Resultado Esperado (Desafio)
O Excel deve conseguir “pescar” a informação exatamente no meio do texto.
| A | B | |
|---|---|---|
| 1 | Código Novo | Ano Extraído |
| 2 | SP-2026-X | 2026 |
🔑 Gabarito de Fórmulas
| A | B | |
|---|---|---|
| 1 | Código Novo | Ano Extraído |
| 2 | SP-2026-X | =EXT.TEXTO(A2; 4; 4) |
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas abaixo com base no que foi estudado neste capítulo. Ao concluir, leve o caderno até o professor para correção e visto.
- O que é uma String na lógica de programação?
- Qual a função do Excel usada para remover espaços em branco antes e depois de um texto?
- Explique a diferença entre as funções ESQUERDA e DIREITA, com exemplo.
- Se a célula A1 contém “RJ-LOG-991”, qual fórmula extrai apenas “RJ”?
- Por que é importante “limpar” dados exportados de sistemas antigos antes de utilizá-los em fórmulas?
- Qual a função equivalente ao ARRUMAR() em linguagens como Python ou JavaScript?
- O que a função PRI.MAIUSCULA faz em um texto?
- Por que o número extraído de um texto (ex: “991”) ainda é considerado Texto e não Número pelo Excel?
- Qual função converte um texto numérico em número de fato no Excel?
- Descreva como a função EXT.TEXTO pode ser usada para extrair um trecho no meio de uma string.