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 (sempre a partir da borda esquerda ou direita).
  3. 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: se A2 conté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".
  4. 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 executa ARRUMAR(A2) (limpando os espaços) e só depois aplica PRI.MAIÚSCULA sobre 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

  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.MAIÚSCULA 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.MAIÚSCULA(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.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):

  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: 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)

📝 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.

  1. O que é uma String na lógica de programação?
  2. Qual a função do Excel usada para remover espaços em branco antes e depois de um texto?
  3. Explique a diferença entre as funções ESQUERDA e DIREITA, com exemplo.
  4. Se a célula A1 contém “RJ-LOG-991”, qual fórmula extrai apenas “RJ”?
  5. Por que é importante “limpar” dados exportados de sistemas antigos antes de utilizá-los em fórmulas?
  6. Qual a função equivalente ao ARRUMAR() em linguagens como Python ou JavaScript?
  7. O que a função PRI.MAIUSCULA faz em um texto?
  8. Por que o número extraído de um texto (ex: “991”) ainda é considerado Texto e não Número pelo Excel?
  9. Qual função converte um texto numérico em número de fato no Excel?
  10. Descreva como a função EXT.TEXTO pode ser usada para extrair um trecho no meio de uma string.