📊 Excel Intermédio
6d18
← Portal
FORMAÇÃO · 6d18 · ACEITAR SUCESSOS

Excel Intermédio
Fórmulas, Referências e Tabelas Dinâmicas

Curso prático orientado para gestão de projetos e obra — exemplos reais com dados de controlo de custos, prazos e equipas.

🔍

Referência

PROCV, ÍNDICE+CORRESP, PROCX

Ver →
⚙️

Lógica

SE, SES, E, OU, SEERRO

Ver →
🔢

Contagem

CONTAR, CONTARA, CONTAR.SE, CONTAR.SES

Ver →

Soma Condicional

SOMASE, SOMASES

Ver →
🔤

Texto

ESQUERDA, DIREITA, MED, CONCATENAR, TEXTO

Ver →
📅

Datas

HOJE, DIAS, DATEDIF, DIAS.ÚTEIS, FIMMÊS

Ver →
🔀

Fórmulas Mistas

Combinações práticas e cenários reais

Ver →
📊

Tabelas Dinâmicas

Análise rápida de dados de obra

Ver →

📋 Estrutura de dados de referência — usada nos exemplos

Todos os exemplos deste curso usam uma estrutura de dados típica de uma empresa de fiscalização/gestão de obra:

FolhaConteúdoColunas exemplo
ObrasTabela de obras em cursoCódigo, Nome, Dono de Obra, Responsável, Estado, Prazo, Contrato (€)
TarefasTarefas por obraCódigo Obra, Tarefa, Responsável, Data Início, Data Fim Prevista, Data Fim Real, % Conclui
CustosLançamentos de custosData, Código Obra, Categoria, Descrição, Valor, Aprovado
EquipaTabela de colaboradoresID, Nome, Cargo, Custo/Hora, Disponível
Funções de Referência · 1

PROCV — Procura Vertical

Procura um valor na primeira coluna de um intervalo e devolve um valor de outra coluna na mesma linha.

Sintaxe

=PROCV(valor_proc; matriz_tabela; núm_índice_col; [correspon_intervalo])
ArgumentoTipoDescrição
valor_procObrigatórioO valor a procurar — célula, texto ou número
matriz_tabelaObrigatórioO intervalo onde procurar — a 1ª coluna é onde procura
núm_índice_colObrigatórioNº da coluna a devolver (1 = primeira coluna da matriz)
correspon_intervaloOpcional0 ou FALSO = correspondência exata (quase sempre o correto)
🔴 Erro mais comum
Usar VERDADEIRO (ou omitir) em vez de FALSO quando a tabela não está ordenada. Usa sempre 0 ou FALSO para correspondência exata.

Exemplos práticos — contexto obra

Exemplo 1 — Obter nome da obra pelo código

Na folha Tarefas, célula A2 tem o código OBR-042. Quero buscar o nome da obra da folha Obras.

Fórmula
=PROCV(A2; Obras!$A:$F; 2; 0)
ℹ️ Nota
Usa sempre referências absolutas ($) na matriz_tabela quando copias a fórmula para baixo, para que a tabela não se desloque.
Exemplo 2 — Buscar custo/hora de um técnico
Fórmula
=PROCV(C5; Equipa!$B:$D; 3; 0) C5 = nome do técnico; coluna 3 da tabela Equipa = Custo/Hora
Exemplo 3 — PROCV com tabela nomeada

Quando transformas o intervalo em Tabela Excel (Ctrl+T), podes referenciar pelo nome:

Fórmula com tabela nomeada
=PROCV(A2; tbObras; 3; 0) tbObras = nome da tabela Excel; muito mais legível e robusto
Limitações do PROCV
  • Só procura da esquerda para a direita — não consegue devolver colunas à esquerda do valor procurado
  • Devolve apenas o primeiro resultado encontrado
  • É sensível à posição da coluna — se inserires colunas na tabela, o índice muda
  • Alternativa mais robusta: ÍNDICE + CORRESP ou PROCX

Erros frequentes do PROCV

ErroCausaSolução
#N/DValor não encontrado na tabelaVerificar espaços extra; usar SEERRO; confirmar tipos de dados
#REF!Índice de coluna maior que o nº de colunas da matrizContar colunas corretamente; usar tabela nomeada
Resultado erradoCorrespon_intervalo = VERDADEIRO e tabela não ordenadaUsar sempre 0 ou FALSO
Resultado erradoNúmero armazenado como texto (ou vice-versa)Converter com VALOR() ou formatar células
Funções de Referência · 2

ÍNDICE + CORRESP

Combinação mais poderosa e flexível que o PROCV — procura em qualquer direção e não depende da posição das colunas.

Como funciona a combinação

CORRESP devolve a posição (nº de linha/coluna) de um valor num intervalo.
ÍNDICE devolve o valor numa posição específica de um intervalo.

=CORRESP(valor_proc; intervalo_proc; [tipo_corresp])
=ÍNDICE(matriz; núm_linha; [núm_coluna])
ℹ️ Tipo de correspondência
0 = exata · 1 = menor ou igual (ascendente) · -1 = maior ou igual (descendente). Usa sempre 0.

Exemplos práticos

Exemplo 1 — Buscar contrato de uma obra pelo nome (não pelo código)
ÍNDICE + CORRESP básico
=ÍNDICE(Obras!$F:$F; CORRESP(A2; Obras!$B:$B; 0)) Obras!$F:$F = coluna Contrato; Obras!$B:$B = coluna Nome da Obra A2 = nome da obra a procurar
Exemplo 2 — Buscar dados à esquerda (impossível no PROCV)

A coluna Código está à direita do Nome — impossível com PROCV. Com ÍNDICE+CORRESP é trivial:

Procura para a esquerda
=ÍNDICE(Obras!$A:$A; CORRESP(D2; Obras!$B:$B; 0)) Devolve o Código (col A) procurando pelo Nome (col B) D2 = nome da obra → devolve o código correspondente
Exemplo 3 — Dupla correspondência (linha + coluna)

Buscar o custo de uma categoria específica para uma obra específica, numa tabela cruzada:

ÍNDICE com 2 CORRESP
=ÍNDICE($B$2:$G$20; CORRESP($A24; $A$2:$A$20; 0); CORRESP(B$23; $B$1:$G$1; 0)) A24 = obra a procurar (linha) B23 = categoria a procurar (coluna) Devolve o valor no cruzamento

PROCV vs ÍNDICE+CORRESP

CritérioPROCVÍNDICE+CORRESP
Direção de procuraSó esquerda→direitaQualquer direção
Robustez ao inserir colunasQuebra o índiceNão afeta
VelocidadeLigeiramente mais rápidoMais lento em tabelas enormes
Facilidade de leituraMais simplesMais verboso
Dupla correspondênciaNãoSim
RecomendaçãoProcuras simplesProcuras complexas ou críticas
Funções de Referência · 3

PROCX — O substituto moderno

Disponível no Excel 365 / Excel 2021. Une as vantagens do PROCV e ÍNDICE+CORRESP numa função mais simples e poderosa.

Sintaxe

=PROCX(valor_proc; intervalo_proc; intervalo_devolução; [se_não_encontrado]; [modo_correspond]; [modo_proc])
✅ Grande vantagem
O argumento se_não_encontrado está incluído — substitui o SEERRO+PROCV de uma só vez.

Exemplos práticos

Exemplo 1 — Substituto direto do PROCV
PROCX básico
=PROCX(A2; Obras!$A:$A; Obras!$B:$B; "Obra não encontrada") Procura A2 na coluna A de Obras, devolve coluna B Se não encontrar, mostra "Obra não encontrada" em vez de #N/D
Exemplo 2 — Devolver múltiplas colunas de uma vez
PROCX multi-coluna
=PROCX(A2; Obras!$A:$A; Obras!$B:$F; "") Devolve as colunas B a F (Nome, Dono, Responsável, Estado, Prazo) de uma só vez — derrama para as colunas seguintes automaticamente
Exemplo 3 — Procura da última correspondência
Modo de procura -1 (do fim para o início)
=PROCX(D2; Custos!$B:$B; Custos!$E:$E; ""; 0; -1) Devolve o ÚLTIMO custo lançado para a obra D2 Modo -1 = procura do fim para o início
Funções Lógicas · 1

SE e SE Aninhados

A função mais usada no Excel — avalia uma condição e devolve um valor para VERDADEIRO e outro para FALSO.

Sintaxe e variações

=SE(teste_lógico; valor_se_verdadeiro; [valor_se_falso])
Operadores de comparaçãoSignificadoExemplo
=Igual aA2="Concluída"
<>Diferente deB2<>""
> / <Maior / Menor queC2>HOJE()
>= / <=Maior ou igual / Menor ou igualD2>=0,9

Exemplos práticos

Exemplo 1 — Classificar estado de tarefa
SE simples
=SE(F2>HOJE(); "Em Prazo"; "Atrasada") F2 = data fim prevista; se for futura → Em Prazo, senão → Atrasada
Exemplo 2 — SE aninhado com 3 resultados possíveis
SE aninhado — classificação de desvio de prazo
=SE(G2=""; "Em Curso"; SE(G2<=F2; "Concluída s/ Desvio"; "Concluída c/ Desvio")) G2 = data fim real; F2 = data fim prevista Se G2 vazio → em curso; se G2 <= F2 → sem desvio; senão → com desvio
Exemplo 3 — SE aninhado com 4 níveis (semáforo de execução)
Semáforo de % de conclusão
=SE(H2=1; "🟢 Concluída"; SE(H2>=0.75; "🟡 Avançada"; SE(H2>=0.25; "🟠 Em Curso"; "🔴 Inicial"))) H2 = % de conclusão (valor entre 0 e 1)
⚠️ Limite de aninhamento
Evita mais de 3-4 níveis de SE aninhado — torna-se difícil de ler e manter. Usa SES a partir de 3 condições.
Funções Lógicas · 2

SES, E e OU

Alternativas mais legíveis ao SE aninhado e para combinar múltiplas condições.

SES — múltiplas condições sem aninhamento

=SES(cond1; valor1; cond2; valor2; ...)
Semáforo com SES (equivalente ao SE aninhado anterior)
=SES(H2=1; "🟢 Concluída"; H2>=0.75; "🟡 Avançada"; H2>=0.25; "🟠 Em Curso"; H2<0.25; "🔴 Inicial") Muito mais legível que os SE aninhados

E e OU — combinar condições

FunçãoResultado VERDADEIRO quando
E(cond1; cond2; ...)TODAS as condições são verdadeiras
OU(cond1; cond2; ...)PELO MENOS UMA condição é verdadeira
Exemplo — Tarefa crítica: atrasada E de alta prioridade
SE + E
=SE(E(F2<HOJE(); I2="Alta"); "🚨 CRÍTICA"; "Normal") F2 = prazo; I2 = prioridade Só é crítica se estiver atrasada E tiver prioridade Alta
Exemplo — Tarefa a rever: atrasada OU incompleta há mais de 30 dias
SE + OU
=SE(OU(F2<HOJE(); HOJE()-E2>30); "Rever"; "OK") E2 = data de início; se passou o prazo OU está aberta há mais de 30 dias
Funções Lógicas · 3

SEERRO e SENÃO

Gerir erros elegantemente — evitar que #N/D ou #VALOR! apareçam no relatório.

SEERRO

=SEERRO(valor; valor_se_erro)
SEERRO + PROCV — o padrão mais usado
=SEERRO(PROCV(A2; Obras!$A:$F; 2; 0); "Não encontrado") Se PROCV falhar (obra não existe) → mostra "Não encontrado" Em vez de mostrar #N/D no relatório
SEERRO com célula vazia (mais limpo visualmente)
=SEERRO(ÍNDICE(Equipa!$D:$D; CORRESP(C2; Equipa!$B:$B; 0)); "") Se não encontrar o técnico → célula fica em branco, não mostra erro

SENÃO — tratar apenas #N/D

SEERRO captura qualquer erro. SENÃO captura apenas #N/D — útil quando queres que outros erros como #DIV/0! sejam visíveis.

=SENÃO(valor; valor_se_nd)
SENÃO — mais seletivo
=SENÃO(PROCV(A2; Obras!$A:$F; 2; 0); "—") Só trata #N/D; outros erros continuam visíveis (bom para debug)
Contagem · 1

CONTAR, CONTARA, CONTAR.VAZIO

Funções base de contagem — antes de usar CONTAR.SE, domina estas.

As 3 funções base

FunçãoContaExemplo
CONTAR()Apenas células com números=CONTAR(Custos!E:E)
CONTARA()Células não vazias (qualquer tipo)=CONTARA(Tarefas!A:A)-1
CONTAR.VAZIO()Células vazias=CONTAR.VAZIO(Tarefas!G:G)
Exemplos de obra
Nº total de tarefas registadas (descontar cabeçalho) =CONTARA(Tarefas!A:A)-1 Nº de tarefas ainda sem data de conclusão real (em aberto) =CONTAR.VAZIO(Tarefas!G:G)-1 Nº de lançamentos de custo com valor (numérico) =CONTAR(Custos!E:E)
Contagem · 2

CONTAR.SE e CONTAR.SES

Contagem condicional — uma das ferramentas mais poderosas para análise de dados de obra.

Sintaxes

=CONTAR.SE(intervalo; critério)

=CONTAR.SES(interv_critério1; critério1; [interv_critério2]; [critério2]; ...)
ℹ️ Critérios com operadores
Usa aspas para incluir operadores: ">=100", "<>0", ">="&A2

Exemplos práticos

CONTAR.SE
Exemplos de contagem simples
Nº de obras no estado "Em Curso" =CONTAR.SE(Obras!D:D; "Em Curso") Nº de obras do responsável em A2 =CONTAR.SE(Obras!C:C; A2) Nº de custos superiores a 5000€ =CONTAR.SE(Custos!E:E; ">5000") Nº de tarefas cujo nome contém "betonagem" (curingas) =CONTAR.SE(Tarefas!B:B; "*betonagem*")
CONTAR.SES — múltiplas condições
Contagem com múltiplas condições
Nº de tarefas atrasadas na obra OBR-042 =CONTAR.SES(Tarefas!A:A; "OBR-042"; Tarefas!F:F; "<"&HOJE(); Tarefas!G:G; "") Cond 1: obra = OBR-042 Cond 2: data fim prevista já passou Cond 3: data fim real está vazia (ainda não concluída) Nº de tarefas do técnico João em obras "Em Curso" =CONTAR.SES(Tarefas!C:C; "João Silva"; Obras!D:D; "Em Curso") Nº de custos aprovados em Março 2025 =CONTAR.SES(Custos!F:F; "Sim"; Custos!A:A; ">=01/03/2025"; Custos!A:A; "<=31/03/2025")
Contagem · 3

SOMASE e SOMASES

Somar apenas os valores que cumprem critérios — essencial para análise de custos e orçamentos de obra.

Sintaxes — ATENÇÃO à ordem dos argumentos

=SOMASE(intervalo; critério; intervalo_soma)

=SOMASES(intervalo_soma; interv_critério1; critério1; ...)
🔴 Diferença crítica
No SOMASE o intervalo_soma vem no FIM. No SOMASES vem no INÍCIO. Este é o erro mais frequente ao mudar de uma para a outra.

Exemplos práticos

SOMASE
Soma simples condicional
Total de custos da obra OBR-042 =SOMASE(Custos!B:B; "OBR-042"; Custos!E:E) Total de custos com valor > 1000€ =SOMASE(Custos!E:E; ">1000"; Custos!E:E) Total de custos da categoria "Mão de Obra" =SOMASE(Custos!C:C; "Mão de Obra"; Custos!E:E)
SOMASES — múltiplas condições
Soma com múltiplos critérios
Total de custos aprovados da obra OBR-042 em "Materiais" =SOMASES(Custos!E:E; Custos!B:B; "OBR-042"; Custos!C:C; "Materiais"; Custos!F:F; "Sim") Total de custos do 1º trimestre 2025 para obras em curso =SOMASES(Custos!E:E; Custos!A:A; ">=01/01/2025"; Custos!A:A; "<=31/03/2025"; Custos!F:F; "Sim") Custo total por obra (referência de célula em vez de texto fixo) =SOMASES(Custos!E:E; Custos!B:B; $A2) $A2 = código da obra; copia para baixo para cada obra
Diferença custo previsto vs. realizado
SOMASES em desvio orçamental
Desvio = realizado - previsto, para a obra em A2 =SOMASES(Custos!E:E; Custos!B:B; A2) - PROCV(A2; Obras!$A:$G; 7; 0) Se positivo → obra a custar mais que o previsto
Texto e Datas · 1

Funções de Texto

Manipular, extrair, combinar e formatar texto — muito útil para tratar códigos de obra, referências e relatórios.

Funções essenciais de texto

FunçãoO que fazExemplo
ESQUERDA(texto;n)Extrai n caracteres do início=ESQUERDA(A2;3) → "OBR"
DIREITA(texto;n)Extrai n caracteres do fim=DIREITA(A2;3) → "042"
MED(texto;início;n)Extrai n caracteres a partir de posição=MED(A2;5;3) → "042"
NÚM.CARACT(texto)Nº de caracteres=NÚM.CARACT("OBR-042") → 7
LOCALIZAR(proc;texto)Posição de um texto noutro (não sensível)=LOCALIZAR("-";A2) → 4
LOCALIZAR.BSensível a maiúsculas/minúsculas
SUBSTITUIR(texto;antigo;novo)Substitui texto=SUBSTITUIR(A2;"-";"/")
COMPACTAR(texto)Remove espaços extra=COMPACTAR(A2)
MAIÚSCULAS / MINÚSCULASConverter capitalização=MAIÚSCULAS("obra") → "OBRA"
TEXTO(valor;formato)Formata número/data como texto=TEXTO(B2;"€ #.##0,00")
VALOR(texto)Converte texto em número=VALOR("1234") → 1234
UNIRTEXTO(sep;ignorar;textos)Concatena com separador, opção ignorar vazias=UNIRTEXTO("; ";VERDADEIRO;A2:A10)

Exemplos práticos — contexto obra

Extrair componentes de um código de obra
Código "OBR-042-FISC" → separar prefixo, número e tipo
Prefixo (antes do 1º traço) =ESQUERDA(A2; LOCALIZAR("-"; A2)-1) → "OBR" Nº de obra (entre os dois traços) =MED(A2; LOCALIZAR("-";A2)+1; 3) → "042" Tipo (após o 2º traço) =DIREITA(A2; NÚM.CARACT(A2)-LOCALIZAR("-";A2;LOCALIZAR("-";A2)+1)) → "FISC"
Criar referência de relatório automática
Concatenar para criar referência
"REL-OBR042-2025/04" a partir de dados separados ="REL-"&SUBSTITUIR(A2;"-";"")&"-"&TEXTO(HOJE();"AAAA/MM") A2 = "OBR-042"; resultado: "REL-OBR042-2025/04"
Formatar valor monetário como texto para relatório
TEXTO para formatação
="Custo total: "&TEXTO(SOMASE(Custos!B:B;A2;Custos!E:E);"#.##0,00 €") → "Custo total: 47.820,50 €"
Texto e Datas · 2

Funções de Data

Calcular prazos, atrasos, dias úteis e períodos — fundamentais no controlo de obra.

Funções de data essenciais

FunçãoO que devolveExemplo
HOJE()Data atual (atualiza automaticamente)=HOJE()
AGORA()Data e hora atuais=AGORA()
DIA(data) / MÊS(data) / ANO(data)Extrai componente da data=ANO(A2) → 2025
DATA(ano;mês;dia)Cria uma data a partir de componentes=DATA(2025;4;30)
DIAS(data_fim;data_início)Nº de dias entre duas datas=DIAS(F2;E2)
DATEDIF(início;fim;unidade)Diferença em D, M, Y, MD, YM, YD=DATEDIF(E2;F2;"M") → meses
DIAS.ÚTEIS(início;fim;[feriados])Nº de dias úteis (excl. fins de semana)=DIAS.ÚTEIS(E2;F2)
DIAS.ÚTEIS.INTL(...)Como DIAS.ÚTEIS mas permite definir dias de descanso=DIAS.ÚTEIS.INTL(E2;F2;1)
DIA.ÚTIL(data_início;dias;[feriados])Devolve data após N dias úteis=DIA.ÚTIL(HOJE();10)
FIMMÊS(data;meses)Último dia do mês, N meses depois=FIMMÊS(HOJE();0) → fim do mês atual
DIA.SEMANA(data;tipo)Nº do dia da semana (2 = Seg=1 a Dom=7)=DIA.SEMANA(HOJE();2)
NÚMSEMANA(data;tipo)Nº da semana do ano=NÚMSEMANA(HOJE();21)

Exemplos práticos — controlo de prazos em obra

Calcular dias de atraso
Dias em atraso (apenas se já passou o prazo)
=SE(HOJE()>F2; HOJE()-F2; 0) F2 = data fim prevista; se já passou → dias de atraso; senão → 0 Apenas dias úteis em atraso =SE(HOJE()>F2; DIAS.ÚTEIS(F2; HOJE()); 0)
Prazo restante em dias úteis
Dias úteis até ao prazo
=DIAS.ÚTEIS(HOJE(); F2) F2 = data fim prevista; resultado negativo = já passou
Duração real da tarefa em semanas
Duração em semanas completas
=SEERRO(DATEDIF(E2; G2; "D")/7; "") E2 = início; G2 = fim real; divide por 7 para semanas
Data prevista de conclusão a partir de hoje + N dias úteis
Calcular data futura
=DIA.ÚTIL(HOJE(); B2) B2 = nº de dias úteis a acrescentar; devolve a data correspondente Com tabela de feriados nacionais =DIA.ÚTIL(HOJE(); B2; Feriados!$A:$A)
Identificar o mês e semana para agrupamento
Criar coluna "Mês/Ano" para tabelas dinâmicas
=TEXTO(A2; "AAAA-MM") Transforma a data em "2025-04" — facilita agrupamento Semana do ano ="S"&TEXTO(NÚMSEMANA(A2;21);"00")&"-"&ANO(A2) → "S14-2025" (semana ISO)
Combinações

🔀 Fórmulas Mistas

Combinações reais das funções anteriores — os cenários mais úteis no dia a dia de obra.

1. Dashboard de obra — custo realizado com alerta de desvio
Para cada obra, calcular custo realizado, previsto e classificar o desvio. Usa: SOMASES + PROCV + SE + TEXTO
=SE( (SOMASES(Custos!E:E;Custos!B:B;A2) / SEERRO(PROCV(A2;Obras!$A:$G;7;0);1)) > 0.9; "🔴 Alerta"; "✅ OK")
→ Se o realizado ultrapassar 90% do orçamento → alerta
2. Estado completo de tarefa — tudo numa célula
Combinar estado, responsável e dias em atraso numa descrição legível. Usa: SE + E + DIAS.ÚTEIS + PROCV + TEXTO + &
=SEERRO( PROCV(A2;Tarefas!$A:$C;3;0) &" | " &SE(E(Tarefas!G2="";Tarefas!F2<HOJE()); "⚠️ Atraso: "&DIAS.ÚTEIS(Tarefas!F2;HOJE())&"du"; SE(Tarefas!G2<>"";"✅ Concluída";"▶ Em curso")); "—")
→ Ex: "João Silva | ⚠️ Atraso: 3du" ou "Ana Costa | ✅ Concluída"
3. Ranking de obras por % de execução orçamental
Calcular desvio de cada obra como % e ordenar. Usa: SOMASES + PROCV + SEERRO + TEXTO
% Executado = custo realizado / custo previsto =SEERRO( SOMASES(Custos!E:E;Custos!B:B;$A2) / PROCV($A2;Obras!$A:$G;7;0); "S/Orçamento") Formatar como % no relatório =TEXTO(SEERRO(C2;0);"0,0%")
→ "87,3%" ou "S/Orçamento" se a obra não tiver orçamento lançado
4. Lista de obras atrasadas com responsável
Contar e identificar obras em atraso por responsável. Usa: CONTAR.SES + SOMASES + PROCV
Nº de tarefas atrasadas do responsável em A2 =CONTAR.SES( Tarefas!C:C; A2; Tarefas!F:F; "<"&HOJE(); Tarefas!G:G; "") Custo total das obras com atraso =SOMASES( Custos!E:E; Custos!B:B; A2; Custos!F:F; "Sim")
→ Dashboard de desempenho por responsável
5. Criar referência de documento dinâmica
Gerar automaticamente a ref do relatório mensal. Usa: TEXTO + HOJE + PROCV + MAIÚSCULAS + &
=MAIÚSCULAS(ESQUERDA(PROCV(A2;Obras!$A:$B;2;0);3)) &"-"&A2&"-REL" &TEXTO(HOJE();"AAMMDD") Resultado: "VER-OBR042-REL250415" (primeiras 3 letras do nome da obra)
→ Referência única por obra e data — automaticamente gerada
Tabelas Dinâmicas

📊 Tabelas Dinâmicas

A ferramenta mais poderosa do Excel para análise de dados — sem escrever uma única fórmula.

Como criar uma Tabela Dinâmica

  1. Clica em qualquer célula dos teus dados
  2. Vai a Inserir → Tabela Dinâmica
  3. Confirma o intervalo (deve incluir cabeçalhos)
  4. Escolhe Nova Folha de Cálculo
  5. Arrasta campos para as áreas: Linhas, Colunas, Valores, Filtros
✅ Melhor prática
Antes de criar a TD, transforma os dados em Tabela Excel (Ctrl+T). A TD atualiza automaticamente quando a tabela cresce.

Análises úteis em contexto de obra

AnáliseLinhasColunasValoresFiltros
Custo por obra e categoriaCódigo ObraCategoriaSoma de ValorAprovado
Tarefas por responsável e estadoResponsávelEstadoContagem de TarefaCódigo Obra
Evolução mensal de custosMês (agrupado)CategoriaSoma de Valor
Taxa de conclusão por obraCódigo ObraMédia de % ConclusãoResponsável

Dicas essenciais

  • Atualizar dados: clica na TD com o botão direito → Atualizar. Ou Dados → Atualizar Tudo.
  • Agrupar datas: clica com botão direito num campo de data → Agrupar → escolhe Mês/Trimestre/Ano.
  • Mostrar % em vez de soma: clica no campo de valor → Definições do Campo de Valor → Mostrar Valores Como → % do Total Geral.
  • Segmentações de dados: Inserir → Segmentação de Dados → filtra visualmente com um clique.
  • Linhas de Tempo: para campos de data, Inserir → Linha de Tempo — filtra por período interativamente.
  • Renomear campos: clica duas vezes no nome do campo de valor para o renomear.
  • Campos calculados: Analisar → Campos, Itens e Conjuntos → Campo Calculado — cria fórmulas dentro da TD.
Exercícios

✏️ Exercícios Práticos

Cenários reais de gestão de obra — resolve sem ver a resposta e depois valida.

Exercício 1 — Painel de controlo de tarefas

EnunciadoNa folha Tarefas tens as colunas: A=CódObra, B=Tarefa, C=Responsável, E=DataInício, F=DataFimPrev, G=DataFimReal, H=%Conclusão. Cria as fórmulas para:
1. Estado da tarefa: "Concluída", "Atrasada" ou "Em Curso"
2. Dias em atraso (apenas se atrasada)
3. Semáforo visual com emojis
Soluções:
1. Estado
=SE(G2<>"";"Concluída";SE(F2<HOJE();"Atrasada";"Em Curso"))
2. Dias em atraso
=SE(E(G2="";F2<HOJE()); DIAS.ÚTEIS(F2;HOJE()); 0)
3. Semáforo
=SES(G2<>"";"🟢"; F2<HOJE()-7;"🔴"; F2<HOJE();"🟡"; H2>0;"🔵"; 1=1;"⚪")

Exercício 2 — Resumo de custos por obra e categoria

EnunciadoNa folha Custos tens: A=Data, B=CódObra, C=Categoria, E=Valor, F=Aprovado(Sim/Não). Cria fórmulas para uma tabela resumo onde A = código obra e as colunas B-E são: Total Lançado, Total Aprovado, Nº Lançamentos, Desvio vs Orçamento (col H da folha Obras).
Soluções:
Total lançado
=SOMASE(Custos!B:B; $A2; Custos!E:E)
Total aprovado
=SOMASES(Custos!E:E; Custos!B:B; $A2; Custos!F:F; "Sim")
Nº de lançamentos
=CONTAR.SE(Custos!B:B; $A2)
Desvio vs orçamento
=SEERRO(B2 / PROCV($A2;Obras!$A:$H;8;0) - 1; "S/Orç") Formatar a célula como % para mostrar "12,3%"

Exercício 3 — Relatório de desempenho por técnico

EnunciadoPara cada técnico da folha Equipa, calcula: nº de tarefas atribuídas, nº concluídas, nº em atraso, e % de sucesso (concluídas/atribuídas). Apresenta o resultado com semáforo.
Soluções:
Nº tarefas atribuídas
=CONTAR.SE(Tarefas!C:C; $A2)
Nº concluídas
=CONTAR.SES(Tarefas!C:C; $A2; Tarefas!G:G; "<>"&"")
Nº em atraso
=CONTAR.SES(Tarefas!C:C;$A2; Tarefas!G:G;""; Tarefas!F:F;"<"&HOJE())
% Sucesso + Semáforo
=SEERRO(C2/B2; 0) Formatar como % =SE(E2>=0.9;"🟢";SE(E2>=0.7;"🟡";"🔴"))