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.
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.MAIUSCULA para deixar a primeira letra de cada palavra maiúscula.
- Na célula B1, digite:
Nome Padrão - Na célula B2, digite:
=PRI.MAIUSCULA(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.MAÍUSCULA(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 (Opcional): 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) |