Como Calcular Os Dias Trabalhados - Calcular os dias trabalhados por mês | Store Profiles
Calcular os dias trabalhados por mês | Store Profiles

O método básico que a maioria das empresas deveria usar

Para calcular os dias trabalhados, você pega a data de término, subtrai a data de início e depois remove os fins de semana e feriados que caem nesse intervalo. A fórmula bruta é simplesmente Delta de dias = Data Final Data Inicial, mas o resultado é quase sempre errado se você não der os próximos passos. Na prática, o problema não é a conta em si. O problema é que calendários de trabalho variam de empresa para empresa e os feriados não são universais.

Como calcular os dias trabalhados: a forma certa de fazer

A abordagem mais confiável que eu já vi funcionar em produção é esta sequência: comece com a diferença em dias entre a data final e a data inicial. Depois, subtraia todos os sábados e domingos que estiverem dentro do período. Em seguida, subtraia os feriados que forem relevantes para aquela operação específica. Se o seu cálculo incluir o dia inicial ou o dia final como "dia trabalhado", ajuste conforme a convenção da sua equipe antes de terminar. Uma planilha simples pode resolver isso rápido se você tiver uma tabela de feridos consolidada. A lógica básica em Excel ou Google Sheets fica assim: =B2A2+1 para a diferença bruta com inclusões nas pontas, menos os fins de semana e menos os feriados. Para fins de semana, a função NETWORKDAYS já faz gran parte do trabalho por você, desde que você alimente a lista de feriados. E sim, existe também a variante NETWORKDAYS.INTL, que permite escolher qual dia da semana é considerado Dia de folga, caso seu time trabalhe em esquema diferente.

Isso é mais do que suficiente para a maioria dos casos do dia a dia. O problema é quando as coisas saem do padrão simples.

As regras que realmente importam no cálculo

Tem duas convenções que todo mundo confunde e que vão te dar números errados se você não definir qual está usando. A primeira é se o primeiro dia conta. A segunda é se o último dia conta. Se você entra em 01/03 e sai em 05/03, algumas pessoas vão contar cinco dias, outras quatro. A diferença muda prazos, folgas remuneradas e até encargos trabalhistas em alguns cenários. A regra que eu recomendo adotar e documentar internamente é simples: defina se o cálculo é inclusivo ou exclusivo nas bordas, aplique isso consistentemente e nunca mude no meio do projeto. Se começar do pressuposto de que tanto o início quanto o fim contam, some um à diferença bruta antes de remover os não úteis. Se só o início conta, use a diferença crua. Se só o fim conta, ajuste da mesma forma. O que quebra os cálculos na prática não é a matemática, é a inconsistência.

Sobre feriados, a lista precisa ser válida para a jurisdição correta. Feriados nacionais não cobrem estaduais nem municipais, e muitos sistemas erram porque usam apenas a tabela federal. Se você trabalha com contratos que abrangem cidades diferentes, prepare listas separadas por município ou estado e aplique a que corresponde ao local de execução do serviço. O risco de usar a lista errada é alto, e o custo de corrigir depois também.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Um exemplo prático que mostra onde as pessoas erram

Vamos supor que você precise calcular um período de 10/07/2026 a 17/07/2026, com calendário padrão de segunda a sexta e sem feriados nesse intervalo. A diferença bruta é de 7 dias. Dentro desse intervalo, os finais de semana que caem são 11 e 12 de julho, que representam dois dias a menos. O resultado é 5 dias úteis. Se sua convenção for inclusiva nas pontas e ambos os dias forem dias úteis, o total sobe para 6. Note que o erro comum aqui é achar que a resposta já está pronta depois de subtrair as datas, sem verificar se os dias intermediários realmente são úteis. Se houver um feriado em 09/07, a conta muda se esse feriado estiver dentro do intervalo considerado. Como 09/07 é anterior ao início do período, ele não entra. Isso parece óbvio, mas eu vi planilha corrigida três vezes porque alguém copiou uma lista inteira de feriados sem filtrar pelo intervalo real.

Minha experiência real com um caso que deu errado e como resolvi

Em um projeto recente, precisei calcular dias trabalhados para um relatório de productividad que ia de 01/06/2026 a 30/06/2026, com ponto de partida numa segunda e ponto de término num domingo. O problema foi que o sistema de folha de pagamento considerava o domingo final como dia de trabalho porque o contrato previa plantão, mas o calendário de feriados da cidade tinha uma variação municipal que não estava na base padrão. O resultado foi uma divergência de dois dias entre o que a engenharia calculava e o que o financeiro esperava. A solução foi simples, mas obrigou a mudar a estrutura: passei a manter uma tabela de referência com três colunas fixas — data, tipo (feriado nacional, estadual, municipal, ponto facultativo) e fonte oficial — e filtrei o cálculo pelo código do município do contrato. Além disso, tratei explicitamente os domingos que caem como dias úteis apenas quando o regime de plantão estava documentado no termo contratual. Esse ajuste reduziu o tempo de reconciliação de cerca de uma hora e meia para algo em torno de quinze minutos por fechamento mensal, dependendo do volume de contratos.

Insights contra-intuitivos que ninguém conta

A primeira coisa que os iniciantes costumam perder é a diferença entre dias corridos e dias úteis. A conta rápida de "data final menos data inicial" responde à pergunta errada na maioria das vezes. A segunda é a suposição de que feriados fixos resolvem tudo. Dias móveis como Carnaval e Páscoa mudam de ano para ano, e tabelas estáticas desatualizadas geram erros sistemáticos que só aparecem no fechamento. Se você mantiver uma lista fixa de feriados por cinco anos seguidos, vai acumular divergências silenciosas. Outro ponto que poucos consideram é o efeito de fuso horário em sistemas distribuidos. Se seus registros de entrada e saída vêm de bases em diferentes fusos, a subtração de datas pode gerar um dia a menos ou um dia a mais dependendo do horário de corte. A correção recomendada é normalizar tudo para um fuso único antes de calcular. E ainda tem o caso limite em que o período começa e termina no mesmo dia. Alguns sistemas retornam zero, outros retornam um, e a escolha errada distorce métricas de produtividade imediatamente.

Limitações e onde esse método falha

O método que descrevi funciona bem para operações padronizadas com poucos milhares de linhas e uma lista de feriados razoavelmente estável. Ele começa a pesar quando você precisa lidar com escalas rotativas, horas extras que viram dias extras, afastamentos médicos com retorno parcial e contratos que cruzam múltiplas jurisdições. Nessas situações, a planilha vira uma bomba-relógio e o tempo de manutenção aumenta rapidamente. Se o seu cenário inclui esses fatores, a alternativa mais segura é usar um motor de calendário ou uma biblioteca especializada, integrando-a ao fluxo de geração de relatórios. Isso geralmente elimina a maior parte dos erros manuais e reduz o esforço de auditoria. Outra alternativa viável é adotar um serviço de cálculo de dias úteis que aceite regras customizadas por região e por tipo de contrato, ainda que isso implique custo de integração e dependência de terceiros. Nenhuma dessas opções é perfeita, mas ambas são mais sustentáveis do que repetir a mesma planilha complexa ano após ano.

Checklist rápido para evitar erros comuns

Antes de fechar qualquer cálculo, confirme cinco pontos. Primeiro, defina claramente se as bordas são inclusivas ou exclusivas. Segundo, verifique se os fins de semana correspondem ao padrão do contrato. Terceiro, valide a lista de feriados contra a jurisdição relevante. Quarto, normalize os fusos horários dos registros de data. Quinto, teste o período com datas conhecidas para garantir que a lógica produz o resultado esperado. Se qualquer um desses passos estiver ausente, revise antes de enviar o número paraApproval.