Capítulo 12: Lógica Temporal e Prazos Logísticos (Sistemas de Data e Dias Úteis)
🎯 Objetivo da Aula
Na logística e na administração, o tempo é uma variável crítica: o atraso de uma entrega pode gerar multas contratuais pesadas ou parar uma linha de montagem inteira. No entanto, calcular prazos no computador não é tão simples quanto somar dias em um calendário de papel, pois caminhões e galpões operam com dias úteis, feriados regionais e escalas de trabalho específicas.
Nesta aula, você aprenderá a:
- Compreender o Sistema de Números Seriais de data e hora do Excel.
- Extrair componentes temporais com
DIA(),MÊS(),ANO()eDIA.DA.SEMANA(). - Calcular o Lead Time Real (Dias Corridos) e o Lead Time Operacional (Dias Úteis) com
DIATRABALHOTOTAL. - Projetar datas futuras de entrega e vencimento pulando sábados, domingos e feriados com
DIATRABALHOeDIATRABALHO.INTL. - O paralelo com Epoch / Unix Timestamps na ciência da computação.
🏢 O Cenário Prático (Seu Desafio)
Situação: A FastLog assinou um contrato de SLA (Service Level Agreement) com uma grande rede de varejo: todas as encomendas devem ser entregues em até 5 dias úteis após a expedição. Se a entrega ultrapassar o prazo ou se o caminhão tentar descarregar no sábado/domingo (quando o centro de distribuição do cliente está fechado), a empresa recebe penalização.
Missão: Construir o Cronômetro de SLA da FastLog:
- Calcular automaticamente a data exata limite de entrega pulando fins de semana e feriados nacionais (
DIATRABALHO). - Medir o tempo que a carga efetivamente levou em dias de trabalho (
DIATRABALHOTOTAL). - Sinalizar se o SLA foi cumprido ou violado.
🧠 Fundamentos: Como o Computador Enxerga o Tempo
1. O Segredo dos Números Seriais (Serial Date System)
O Excel não guarda textos como "15/05/2026" internamente. Para a máquina, toda data é um número inteiro:
- O ponto de partida do sistema é o dia 01/01/1900, que vale o número
1. - O dia 02/01/1900 vale
2. - A data de hoje é simplesmente a quantidade de dias transcorridos desde 1900 (ex: ~
46.000).
graph LR
Date["Data Visual: 14/05/2026"] <--> Num["Número Serial Real: 46156"]
Hour["Hora: 14/05/2026 12:00 (Meio-dia)"] <--> Dec["Número Serial Decimal: 46156.50"]
style Date fill:#2980b9,stroke:#fff,stroke-width:2px,color:#fff
style Num fill:#217346,stroke:#fff,stroke-width:2px,color:#fffE como funcionam as Horas?
As horas são as frações decimais de 1 dia (24h = 1,0):
12h00 (Meio-dia)=0,5(metade do dia)06h00 (Manhã)=0,25(um quarto do dia)18h00 (Tarde)=0,75
2. Principais Funções de Tempo do Excel
A. Funções Dinâmicas de Relógio
=HOJE()➔ Retorna a data atual do sistema (atualiza sozinha todo dia).=AGORA()➔ Retorna a data e a hora exata com minutos e segundos.
B. Funções de Cálculo de Prazos Úteis
DIATRABALHO(data_inicio; dias_uteis; [feriados])- Pula automaticamente sábados e domingos e devolve a data futura.
- Exemplo:
=DIATRABALHO("15/05/2026"; 5; $J$1:$J$10)
DIATRABALHOTOTAL(data_inicio; data_fim; [feriados])- Conta quantos dias úteis de trabalho existiram entre duas datas.
- Exemplo:
=DIATRABALHOTOTAL(B2; C2; $J$1:$J$10)
DIATRABALHO.INTL/DIATRABALHOTOTAL.INTL- Permite personalizar os dias de folga (ex: galpões que fecham às segundas-feiras ou trabalham aos sábados).
3. 🌐 Quadro Bilíngue (PT-BR vs EN)
| Função (Português) | Equivalente em Inglês | O que faz? |
|---|---|---|
HOJE | TODAY | Retorna a data atual. |
AGORA | NOW | Retorna data e hora corrente. |
DIATRABALHO | WORKDAY | Calcula data final somando apenas dias úteis. |
DIATRABALHOTOTAL | NETWORKDAYS | Conta quantos dias úteis existem entre duas datas. |
DIA.DA.SEMANA | WEEKDAY | Retorna o número do dia (1 = Domingo, 2 = Segunda…). |
4. 💡 Visão de Programador: Unix Timestamps e ISO 8601
Na programação Web e back-end (JavaScript, Python, bancos de dados), o padrão universal de tempo é o Unix Epoch: a contagem de segundos transcorridos desde 01/01/1970 00:00:00 UTC.
No Excel, o raciocínio é idêntico: datas são números e podem ser somadas e subtraídas diretamente (DataFinal - DataInicial).
📖 Exemplo Guiado: Dias Corridos vs Dias Úteis
Passo a Passo
- Em A1 digite
Data de Expedição:e em B1 digite uma sexta-feira (ex:15/05/2026). - Em A2 digite
Prazo Corrido (3 dias):e na célula B2 digite=B1+3. (Retornará18/05/2026, pulando o fim de semana como dias normais). - Em A3 digite
Prazo Útil (3 dias úteis):e na célula B3 digite=DIATRABALHO(B1; 3). (Retornará20/05/2026, pulando sábado e domingo e entregando na quarta-feira!).
✅ Resultado Esperado (Exemplo)
| A | B | |
|---|---|---|
| 1 | Data de Expedição: | 15/05/2026 (Sexta-feira) |
| 2 | Prazo Corrido (3 dias): | 18/05/2026 (Segunda-feira) |
| 3 | Prazo Útil (3 dias úteis): | 20/05/2026 (Quarta-feira) |
🛠️ Prática Obrigatória 1: Monitor de SLA de Entregas
Passo 1: Construindo a Matriz de Cargas e Calendário de Feriados
Na Planilha 1, monte a tabela de feriados nas células J1 até J3:
- J1:
Feriados_Nacionais - J2:
21/04/2026 - J3:
01/05/2026
Na mesma planilha, monte o relatório de fretes nas células A1 até F5:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | ID_Carga | Data_Saída | Prazo_SLA_Dias | Data_Limite_Entrega | Data_Chegada_Real | Status_SLA |
| 2 | FL-501 | 20/04/2026 | 5 | 28/04/2026 | ||
| 3 | FL-502 | 22/04/2026 | 3 | 29/04/2026 | ||
| 4 | FL-503 | 27/04/2026 | 4 | 04/05/2026 | ||
| 5 | FL-504 | 28/04/2026 | 2 | 30/04/2026 |
Passo 2: Calculando a Data Limite Útil com Feriados (DIATRABALHO)
- Na célula D2, calcule a data máxima permitida:
=DIATRABALHO(B2; C2; $J$2:$J$3) - Arraste até a linha 5. (Observe que na linha 2, como 21/04 é feriado e há um fim de semana, a data limite pula para 28/04).
Passo 3: Avaliando o Cumprimento do SLA
- Na célula F2, faça o teste condicional de pontualidade:
=SE(E2<=D2; "No Prazo"; "ATRASADO") - Arraste até a linha 5.
✅ Resultado Esperado (Prática 1)
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | ID_Carga | Data_Saída | Prazo_SLA | Data_Limite | Data_Chegada | Status_SLA |
| 2 | FL-501 | 20/04/2026 | 5 | 28/04/2026 | 28/04/2026 | No Prazo |
| 3 | FL-502 | 22/04/2026 | 3 | 27/04/2026 | 29/04/2026 | ATRASADO |
| 4 | FL-503 | 27/04/2026 | 4 | 04/05/2026 | 04/05/2026 | No Prazo |
| 5 | FL-504 | 28/04/2026 | 2 | 30/04/2026 | 30/04/2026 | No Prazo |
🛠️ Prática Obrigatória 2: Cálculo de Lead Time Efetivo (DIATRABALHOTOTAL)
Passo 1: A Tabela de Auditoria de Viagens
Na Planilha 2 (renomeie para Lead_Time), crie:
- A1:
Motorista, B1:Data_Saída, C1:Data_Entrega, D1:Dias_Corridos, E1:Dias_Úteis_Trabalhados - Linha 2:
Carlos|10/05/2026|18/05/2026 - Linha 3:
Mariana|04/05/2026|08/05/2026
Passo 2: As Fórmulas de Duração
- Na célula D2, calcule os dias corridos por subtração direta:
=C2-B2. - Na célula E2, calcule apenas os dias úteis:
=DIATRABALHOTOTAL(B2; C2). - Arraste para a linha 3.
✅ Resultado Esperado (Prática 2)
Para o Carlos, foram 8 dias corridos de viagem, mas apenas 6 dias úteis de trabalho, pois 2 dias foram de fim de semana.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_12_SeuNome_SeuSobrenome.xlsx - No Microsoft Teams, envie na tarefa “Capítulo 12 - Lógica de Datas e Prazos”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica
Você aprendeu como a manipulação de grandezas contínuas (tempo, horas, datas) é traduzida para variáveis discretas na computação. O controle preciso de datas úteis é a base de sistemas de roteirização e WMS (Warehouse Management System).
🔥 Desafio de Fixação: Extração com DIA.DA.SEMANA
Use a função =DIA.DA.SEMANA(B2; 2) (onde o argumento 2 define Segunda=1 até Domingo=7) para impedir embarques que caiam no Domingo (7):
📝 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.
- Como o Excel armazena internamente uma data (explique o Sistema de Números Seriais)?
- Qual a diferença entre HOJE() e AGORA()?
- O que a função DIATRABALHO calcula e qual sua principal vantagem em relação a somar dias diretamente?
- Para que serve a função DIATRABALHOTOTAL?
- Como as horas são representadas como frações decimais do dia? Dê um exemplo (ex: meio-dia).
- Qual a diferença entre “Dias Corridos” e “Dias Úteis”?
- Como podemos incluir feriados no cálculo de DIATRABALHO?
- O que é o Unix Timestamp e como ele se relaciona com o sistema de datas do Excel?
- Qual função retorna o número correspondente ao dia da semana de uma data?
- Por que o controle preciso de prazos é crítico em um contrato de SLA logístico?