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:

  1. 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).
  2. Fatiamento (Substrings): Usa-se ESQUERDA(texto; num_caracteres) ou DIREITA(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

  1. Digite SPO-CARGA na célula A1.
  2. Na célula B1, queremos apenas o prefixo (SPO). Use a função: =ESQUERDA(A1; 3).
  3. Na célula C1, queremos o tipo (CARGA). Use a função: =DIREITA(A1; 5).

✅ Resultado Esperado (Exemplo)

ABC
1SPO-CARGASPOCARGA

🔑 Gabarito de Fórmulas

ABC
1SPO-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.

  1. Na célula B1, digite o cabeçalho: Cód Limpo
  2. Na célula B2, use a função de limpeza: =ARRUMAR(A2)
  3. 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.

  1. Na célula C1, digite: UF (Estado)
  2. Na célula C2, usaremos a função lógica de fatiamento à esquerda pedindo 2 caracteres: =ESQUERDA(B2; 2)
  3. 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.

  1. Na célula D1, digite: Lote Numérico
  2. Na célula D2, extraia pela direita pedindo 3 caracteres: =DIREITA(B2; 3)
  3. Arraste para baixo.

✅ Resultado Esperado (Prática 1)

Sua base processada e higienizada deve se comportar exatamente como na tabela abaixo:

ABCD
1Cód Sujo do SistemaCód LimpoUF (Estado)Lote Numérico
2RJ-LOG-991RJ-LOG-991RJ991
3BA-LOG-442BA-LOG-442BA442
4MG-LOG-110MG-LOG-110MG110

🔑 Gabarito de Fórmulas

ABCD
1Cód Sujo do SistemaCód LimpoUF (Estado)Lote Numérico
2RJ-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.

  1. Na célula B1, digite: Nome Padrão
  2. Na célula B2, digite: =PRI.MAIUSCULA(ARRUMAR(A2))
  3. Arraste para baixo até B4.

✅ Resultado Esperado (Prática 2)

Os nomes devem estar perfeitamente formatados para um relatório executivo:

AB
1Nome BagunçadoNome Padrão
2joão silvaJoão Silva
3maria souzaMaria Souza
4carlos mendesCarlos Mendes

🔑 Gabarito de Fórmulas

AB
1Nome BagunçadoNome Padrão
2joã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):

  1. Salve o arquivo no formato Excel com o nome: Atividade_04_SeuNome_SeuSobrenome.xlsx
  2. Acesse o Microsoft Teams na equipe da turma.
  3. Vá na guia Tarefas (Assignments).
  4. Encontre a tarefa vinculada à “Capítulo 04 - Manipulação de Strings”.
  5. Clique em Anexar > Carregar deste dispositivo e faça o upload.
  6. 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.

  1. Na Planilha 3, digite esse código na célula A2.
  2. 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.

AB
1Código NovoAno Extraído
2SP-2026-X2026

🔑 Gabarito de Fórmulas

AB
1Código NovoAno Extraído
2SP-2026-X=EXT.TEXTO(A2; 4; 4)