Capítulo 15: Tabelas Dinâmicas I - Agrupamento Lógico e Agregação Multidimensional

🎯 Objetivo da Aula

Até agora, aprendemos a fazer somas e contagens condicionais com fórmulas como SOMASES e CONT.SES. Porém, quando uma empresa possui 50.000 ou 1 milhão de linhas de dados, escrever centenas de fórmulas manuais torna-se lento, sujeito a erros e inviável.

Nesta aula, você aprenderá a dominar a ferramenta analítica mais poderosa do Excel: a Tabela Dinâmica (Pivot Table).

Você aprenderá a:

  1. Estruturar bases de dados no formato Plano/Tabular (Tidy Data / 1ª Forma Normal).
  2. Compreender os 4 Quadrantes Fundamentais da Tabela Dinâmica (Linhas, Colunas, Valores e Filtros).
  3. Alterar funções de resumo: Soma, Contagem, Média e % do Total Geral.
  4. Agrupar datas automaticamente em Anos, Trimestres e Meses.
  5. O paralelo com Cubos OLAP e Agregações no Pandas (Python).

🏢 O Cenário Prático (Seu Desafio)

Situação: O Diretor de Operações da FastLog recebeu um arquivo exportado do banco de dados contendo o histórico anual de todas as viagens realizadas por todas as filiais e tipos de veículo (mais de 1.000 viagens registradas). Ele precisa de um relatório executivo urgente para apresentar aos acionistas em 15 minutos:

  1. Qual o faturamento total por Filial e qual a sua participação percentual (%) no faturamento global da empresa?
  2. Qual a Média de Frete por Tipo de Veículo (Carreta, Truck, Toco) cruzada com os Trimestres do Ano?

Missão: Construir duas Tabelas Dinâmicas profissionais de alta performance sem escrever uma única fórmula manual na planilha.


🧠 Fundamentos: A Teoria dos Cubos Multidimensionais

1. O Formato de Dados Tabular Obrigatório (Tidy Data)

Uma Tabela Dinâmica só funciona com perfeição se a base de dados de origem seguir três regras de engenharia de dados:

  1. Cada Coluna representa uma única variável/atributo (sem células mescladas).
  2. Cada Linha representa um único evento ou transação.
  3. A Linha 1 contém exclusivamente os nomes dos cabeçalhos.

Por que células mescladas quebram a Tabela Dinâmica?
Quando você mescla, por exemplo, A2:A5 em uma única célula visual, o Excel só guarda o valor na primeira célula (A2) — as células A3, A4 e A5 ficam tecnicamente vazias por dentro. A Tabela Dinâmica lê essas linhas vazias como uma categoria própria ((vazio) ou #N/D), agrupando errado, subcontando registros e distorcendo somas e percentuais. Por isso a base de origem nunca deve ter células mescladas.

graph TD
    RawData["Base Bruta (10.000 Linhas de Fretes)"] --> PivotEngine["Motor de Processamento Pivot Table"]
    PivotEngine --> Q_Filtro["1. Filtros (Filtro Global da Página)"]
    PivotEngine --> Q_Coluna["2. Colunas (Categorias Horizontais: Modais)"]
    PivotEngine --> Q_Linha["3. Linhas (Categorias Verticais: Filiais)"]
    PivotEngine --> Q_Valor["4. Valores (Operação Matemática: SUM, AVG, %)"]
    
    style PivotEngine fill:#217346,stroke:#fff,stroke-width:2px,color:#fff
    style Q_Valor fill:#8e44ad,stroke:#fff,stroke-width:2px,color:#fff

2. Os 4 Quadrantes da Tabela Dinâmica

QuadranteO que faz?Onde aparece na tela?Exemplo Logístico
LinhasLista valores únicos na vertical.Lado esquerdo da tabelaNomes das Filiais (São Paulo, Rio de Janeiro)
ColunasEspalha valores únicos na horizontal.Cabeçalho superiorTipo de Veículo (Carreta, Truck, VUC)
ValoresOnde o cálculo matemático acontece.Miolo numérico centralSoma de Valor_Frete, Média de Peso
FiltrosCria um filtro suspenso para a página inteira.Topo da tabelaFiltrar apenas Ano = 2026

3. Funções de Resumo e “Mostrar Valores Como”

Por padrão, o Excel soma colunas de números e conta colunas de texto. Você pode clicar com o botão direito sobre qualquer número da tabela dinâmica e escolher:

  • Resumir Valores Por: Soma, Contagem, Média, Máximo, Mínimo.
  • Mostrar Valores Como: % do Total Geral (Calcula automaticamente o percentual de representatividade de cada filial sobre o total da empresa).

4. 🌐 Quadro Bilíngue (PT-BR vs EN)

Termo em PortuguêsTermo em Inglês (Excel)Onde encontrar?
Tabela DinâmicaPivot TableGuia Inserir (Insert)
Campos da Tabela DinâmicaPivotTable FieldsPainel lateral à direita
Configurações do Campo de ValorValue Field SettingsClique com o botão direito no número
Atualizar DadosRefresh (Alt + F5)Guia Análise de Tabela Dinâmica

5. 💡 Visão de Programador: Pandas pivot_table e Cubos OLAP

Em Ciência de Dados (Python / Pandas), a Tabela Dinâmica do Excel é escrita com a mesmíssima sintaxe de argumentos:

1
2
3
4
5
6
7
8
9
import pandas as pd

# Equivalente exato em Python:
tabela_dinamica = df.pivot_table(
    index='Filial',          # Linhas
    columns='Tipo_Veiculo',  # Colunas
    values='Valor_Frete',    # Valores
    aggfunc='sum'            # Agregação (Soma)
)

📖 Exemplo Guiado: Agrupamento em 3 Cliques

Passo a Passo

  1. Em A1:C5 insira:
    • Vendedor | Região | Vendas (R$)
    • Ana | Sul | 1000
    • Carlos | Sudeste | 2500
    • Ana | Sul | 1500
    • Carlos | Sul | 800
  2. Clique em qualquer célula dentro dos dados.
  3. Vá em Inserir > Tabela Dinâmica > clique em OK (em uma nova planilha).
  4. No painel à direita:
    • Arraste Vendedor para o campo Linhas.
    • Arraste Vendas (R$) para o campo Valores.
  5. O Excel calculará sozinho: Ana vendeu 2500 e Carlos vendeu 3300!

Mostrando o Percentual de Participação (% do Total Geral)

Agora vamos ver o quanto cada vendedor representa do total, sem escrever nenhuma fórmula:

  1. Arraste Vendas (R$) uma segunda vez para o campo Valores — vai aparecer como Soma de Vendas (R$)2, uma segunda coluna igual à primeira.
  2. Clique com o botão direito em qualquer número dessa segunda coluna.
  3. Vá em Mostrar Valores Como > % do Total Geral.
  4. A coluna agora mostra o percentual: Ana 43,10% e Carlos 56,90% (2500 e 3300 sobre o total de 5800).

🛠️ Prática Obrigatória 1: Relatório Executivo de Faturamento e Share (%)

Passo 1: Inserindo a Base Anual de Transportes

Na Planilha 1, insira a massa de dados nas células A1 até E9:

ABCDE
1ID_ViagemData_EmissãoFilial_OrigemTipo_VeículoValor_Frete
2V-0110/01/2026São Paulo - SPCarreta4500,00
3V-0215/01/2026Curitiba - PRTruck2800,00
4V-0320/02/2026Rio de Janeiro - RJToco1900,00
5V-0405/03/2026São Paulo - SPTruck3100,00
6V-0512/04/2026Curitiba - PRCarreta5200,00
7V-0618/05/2026São Paulo - SPCarreta4800,00
8V-0722/06/2026Rio de Janeiro - RJTruck2400,00
9V-0830/06/2026São Paulo - SPToco1600,00

Passo 2: Criando a Primeira Tabela Dinâmica

  1. Selecione a base de dados (A1:E9).
  2. Vá em Inserir > Tabela Dinâmica > escolha Na planilha existente > selecione a célula G1. Dê OK.
  3. Configure os campos:
    • Arraste Filial_Origem para o quadro Linhas.
    • Arraste Valor_Frete para o quadro Valores (ficará como Soma de Valor_Frete).
    • Arraste Valor_Frete uma segunda vez para o quadro Valores (ficará como Soma de Valor_Frete2).

Passo 3: Transformando a Segunda Coluna em % do Total

  1. Clique com o botão direito sobre qualquer número da coluna Soma de Valor_Frete2.
  2. Vá em Mostrar Valores Como > % do Total Geral.
  3. Renomeie o cabeçalho para % de Participação (Share).
  4. Formate a primeira coluna de valores como Moeda (R$).

✅ Resultado Esperado (Prática 1)

Filial_OrigemFaturamento Total% de Participação (Share)
Curitiba - PRR$ 8.000,0030,42%
Rio de Janeiro - RJR$ 4.300,0016,35%
São Paulo - SPR$ 14.000,0053,23%
Total GeralR$ 26.300,00100,00%

🛠️ Prática Obrigatória 2: Matriz Cruzada e Agrupamento Temporal

Passo 1: Construindo a Tabela Dinâmica Bidimensional

  1. Com a mesma base selecionada, insira uma nova Tabela Dinâmica na célula G8.
  2. Configure os campos:
    • Arraste Filial_Origem para Linhas.
    • Arraste Tipo_Veículo para Colunas.
    • Arraste Valor_Frete para Valores (Altere para Média em Resumir Valores Por > Média).

✅ Resultado Esperado (Prática 2)

O Excel gerará uma matriz cruzada completa mostrando o custo médio de cada tipo de veículo em cada praça da empresa.


📤 Instruções de Entrega (Microsoft Teams)

  1. Salve seu arquivo como: Atividade_15_SeuNome_SeuSobrenome.xlsx
  2. No Microsoft Teams, envie na tarefa “Capítulo 15 - Tabelas Dinâmicas I”.
  3. Clique em Entregar (Turn In).

💡 Checkpoint de Lógica

Você dominou a manipulação de Cubos de Dados Multidimensionais. Toda ferramenta corporativa moderna (como SAP, Power BI e Salesforce) utiliza essa mesma arquitetura lógica de agrupamento por trás de seus relatórios.


🔥 Desafio de Fixação: Agrupamento Automático de Datas em Meses

Arraste o campo Data_Emissão para as Linhas da sua Tabela Dinâmica. Clique com o botão direito na data > escolha Agrupar… > selecione Meses e Trimestres. Veja o Excel criar uma árvore hierárquica de tempo sem você precisar de nenhuma fórmula!


📝 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 Tabela Dinâmica e por que ela é útil para grandes volumes de dados?
  2. Quais são os 4 Quadrantes de uma Tabela Dinâmica?
  3. O que significa o conceito de “Dados Tabulares” (Tidy Data) e quais são suas três regras?
  4. Como transformar uma coluna de valores em “% do Total Geral” dentro de uma Tabela Dinâmica?
  5. Qual a diferença entre colocar um campo em “Linhas” e colocar em “Colunas”?
  6. Explique como agrupar datas automaticamente em Meses e Trimestres em uma Tabela Dinâmica.
  7. Qual biblioteca Python e qual função possuem lógica equivalente à Tabela Dinâmica do Excel?
  8. Por que escrever centenas de fórmulas SOMASES manuais se torna inviável em bases muito grandes?
  9. O que acontece se a sua base de dados tiver células mescladas? Isso afeta a Tabela Dinâmica?
  10. Cite duas funções de resumo diferentes de “Soma” que podem ser usadas nos Valores de uma Tabela Dinâmica.