Calcular prazos que consideram apenas dias úteis, excluir feriados dos cálculos de data, encontrar a data do próximo dia útil a partir de uma data qualquer, verificar se um prazo vence em dia útil ou não — esses são problemas cotidianos de quem trabalha com planejamento, RH, finanças ou qualquer área que lide com contratos e prazos. A função DIA.DA.SEMANA do Excel, quando combinada com DIAS.ÚTEIS, DIAS.ÚTEIS.INTL, HOJE e outras funções de data, resolve todos esses problemas com elegância. Neste artigo iremos mostrar como combinar DIA.DA.SEMANA com as funções de data mais avançadas do Excel para criar soluções de prazo realmente inteligentes.
DIA.DA.SEMANA com DIAS.ÚTEIS para cálculos de prazo em dias úteis
A função DIAS.ÚTEIS calcula a data que resulta de adicionar um número específico de dias úteis a uma data de início, pulando automaticamente sábados e domingos. A sintaxe é: =DIAS.ÚTEIS(data_início; dias; [feriados]). O terceiro argumento, feriados, é opcional e aceita um intervalo com as datas dos feriados que também devem ser excluídas do cálculo. Combinada com DIA.DA.SEMANA, essa função cria um sistema completo de cálculo de prazos que não precisa de nenhum ajuste manual para fins de semana.
Uma situação muito comum é precisar garantir que uma data calculada automaticamente (como a data de vencimento de um título que vence em 30 dias) caia em um dia útil — se cair em fim de semana, deve ser prorrogada para o próximo dia útil. A combinação de DIA.DA.SEMANA e DIAS.ÚTEIS resolve isso: =SE(DIA.DA.SEMANA(A1+30;2)>=6;DIAS.ÚTEIS(A1+30;0);A1+30). Se a data calculada (A1+30) cair em fim de semana, a fórmula usa DIAS.ÚTEIS(data;0) para retornar o próximo dia útil. Se já for dia útil, usa a data diretamente. O DIAS.ÚTEIS com 0 dias de diferença retorna exatamente a data passada se ela for dia útil, ou o próximo dia útil se não for.
Para calcular o número de dias úteis entre duas datas — útil para medir o tempo real de processamento de um pedido, excluindo fins de semana —, a função DIAS.ÚTEIS é usada de forma diferente: =DIAS.ÚTEIS(data_início;data_fim) retorna o número de dias úteis entre as duas datas. Para incluir também a exclusão de feriados específicos da sua empresa, adicione o terceiro argumento: =DIAS.ÚTEIS(data_início;data_fim;Feriados), onde Feriados é um intervalo nomeado com as datas dos feriados. O DIA.DA.SEMANA entra nesse contexto para validar os dados de entrada: verificar se a data de início e a data de fim são dias úteis antes de calcular o intervalo.
DIAS.ÚTEIS.INTL para semanas de trabalho não convencionais
A função DIAS.ÚTEIS padrão assume que fins de semana são sábado e domingo. Mas em muitas empresas e países, o padrão de dias não trabalhados é diferente: algumas operações folga na sexta e sábado, outras apenas no domingo, algumas têm semanas de quatro dias. Para essas situações, o Excel tem a função DIAS.ÚTEIS.INTL com um parâmetro adicional que define quais dias são folga.
A sintaxe é: =DIAS.ÚTEIS.INTL(data_início; dias; fim_de_semana; [feriados]). O terceiro argumento, fim_de_semana, é um código que define os dias de descanso. Código 1 é sábado e domingo (padrão), código 7 é sexta e sábado, código 11 é apenas domingo, código 12 é apenas segunda-feira. Também é possível usar uma string de 7 caracteres de 0s e 1s onde 1 representa dia de descanso: “0000011” significa que o sexto e sétimo dias da semana (sábado e domingo) são descanso. “0000110” significa que sexta e sábado são descanso.
O DIA.DA.SEMANA.INTL é a versão correspondente do DIA.DA.SEMANA que também aceita o parâmetro de definição de fim de semana. Para verificar se uma data é dia de trabalho em uma operação que descansa apenas no domingo: =DIA.DA.SEMANA.INTL(A1;”0000001″)=0. Na string “0000001”, apenas o último dígito (domingo) é 1 (descanso) e os demais são 0 (dia de trabalho). Se o resultado da função for 0, a data é o dia de descanso (domingo). Essa flexibilidade de definição de dias de trabalho é essencial para empresas que não seguem o padrão segunda a sexta de dias úteis.
Encontrando o próximo ou o anterior dia da semana específico
Uma necessidade muito comum em cronogramas é encontrar a data da próxima segunda-feira, da próxima sexta ou de qualquer dia da semana específico a partir de uma data de referência. O DIA.DA.SEMANA é a ferramenta que torna esse cálculo automático e independente de qual é o dia atual.
Para encontrar a data da próxima segunda-feira a partir da data em A1: =A1+(9-DIA.DA.SEMANA(A1;2))*(DIA.DA.SEMANA(A1;2)<>1). Essa fórmula calcula quantos dias faltam para a próxima segunda adicionando a diferença entre 8 (segunda da próxima semana no esquema tipo 2) e o dia atual. A multiplicação por (DIA.DA.SEMANA(A1;2)<>1) garante que se a data de referência já for segunda-feira, a fórmula retorne a mesma data em vez de avançar para a próxima semana. Para o próximo domingo: =A1+(7-DIA.DA.SEMANA(A1;2))*(DIA.DA.SEMANA(A1;2)<>7).
Para encontrar a próxima sexta-feira: =A1+MOD(5-DIA.DA.SEMANA(A1;2)+7;7). A fórmula com MOD é mais compacta: MOD(5-DIA.DA.SEMANA(A1;2)+7;7) calcula o número de dias até a próxima sexta (5 no tipo 2) adicionando 7 para garantir que o resultado seja sempre positivo e usando MOD para obter o resto da divisão por 7. Se hoje já for sexta, o MOD retorna 0 e a data permanece a mesma. Para qualquer outro dia da semana, retorna a diferença correta de dias. Esse padrão com MOD funciona para qualquer dia da semana alvo — substitua o 5 pelo número do dia desejado no tipo 2.
DIA.DA.SEMANA para calcular o SLA em dias úteis automaticamente
SLA (Service Level Agreement) é o prazo máximo em que um serviço deve ser entregue ou um chamado deve ser resolvido. Calcular o prazo de SLA em dias úteis — excluindo fins de semana e feriados — é uma das aplicações mais práticas da combinação DIA.DA.SEMANA com DIAS.ÚTEIS em planilhas de gestão de atendimento e projetos.
Para calcular a data de vencimento do SLA de 2 dias úteis a partir da data de abertura em A1: =DIAS.ÚTEIS(A1;2;Feriados). Se o chamado foi aberto em uma quinta-feira, o prazo de 2 dias úteis vence na segunda-feira seguinte (pula sábado e domingo). Se foi aberto na sexta, vence na terça. O DIA.DA.SEMANA entra para exibir o status do SLA em relação ao dia atual: =SE(DIAS.ÚTEIS(A1;2;Feriados)<HOJE();”VENCIDO”;SE(DIAS.ÚTEIS(A1;2;Feriados)=HOJE();”VENCE HOJE”;”Dentro do prazo”)). Essa fórmula mostra automaticamente se o SLA de cada chamado está dentro do prazo, vence hoje ou já venceu.
Para calcular o percentual de chamados atendidos dentro do SLA: =SOMARPRODUTO(–(C2:C100<=B2:B100))/CONT.VALORES(A2:A100). Onde B é a data de vencimento do SLA e C é a data de resolução real. O duplo traço converte a comparação de datas em 1/0 (1 para resolvido no prazo, 0 para atrasado), a soma totaliza os que foram resolvidos dentro do SLA e a divisão pelo total calcula o percentual. Esse indicador de SLA, atualizado automaticamente conforme novos registros são adicionados, é um dos KPIs mais importantes em qualquer operação de atendimento e a combinação DIA.DA.SEMANA + DIAS.ÚTEIS garante que apenas os dias úteis são contados no cálculo.
Se você curtiu esse artigo onde mostramos como usar a função DIA.DA.SEMANA no Excel com DIAS.ÚTEIS e outras funções de data para cálculos de prazo avançados, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.