Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Calculo de horas úteis

Boa tarde,

Estou tentado saber a quantidade de horas em que um chamado está em aberto. Consegui fazer com horas corridas, porém como que calculo apenas horas úteis? por exemplo, a soma das horas tem que ser somente do período entre 08:00 as 18:00. Também preciso ignorar finais de semana e feriados (nesse caso posso utilizar a função =diastrabalhototal). A abertura e encerramento do chamado podem estar em dias diferentes. O formado da data e hora é o seguinte: dd/mm/aaaa hh:mm.

Alguém consegue me ajudar?

2 respostas
solução!

Olá Jonas,

Acredito que você possa considerar 3 coisas:

  • No dia em que o chamado foi aberto, considerar as horas até o final do dia.
  • O número de dias menos 2, pois desconsidera o doa em que o chamado foi aberto e o dia atual.
  • O número de horas do dia atual.

Cada uma dessas coisas teria uma regra de cálculo própria. Supondo que sua data de início do chamado esteja na célula A1, vamos pensar um pouco nelas:

  • Horas do dia que o chamado foi aberto:
="18:00" - ( A1 - DATA(ANO(A1);MÊS(A1);DIA(A1)) )-SE(HORA(A1)<12;"1:00";"0:00")

A função DATA(ANO(A1);MÊS(A1);DIA(A1)) cria a mesma data de início, mas com horário 00:00. Isso facilita para calcular quanto tempo se passou no dia da abertura do chamado.

Também é preciso desconsiderar a hora do almoço. Assim, caso o chamado tenha sido aberto antes do almoço, ele subtrai 1:00.

  • Número de dias:

Como você mesmo falou, seu prolema aqui são os finais de semana. No entanto, você sabe que tem um final de semana a cada 7 dias. Assim, pode usar DIAS() para calcular o número de dias, e depois dividir por 7 para saber quantos finais de semana tiveram.

=(DIAS(A2;A1) - 2 * TRUNCAR(DIAS(A2;A1)/7) - 1)*"09:00"

É necessário subtrair 1 porque ele considera o dia final também. A multiplicação por 2 é porque cada final de semana são 2 dias. Como data final considerei a célula A2. No final, você quer em horas, considerei 9h úteis das 08:00 às 18:00.

Repara que ele não considera feriados, isso é uma coisa que o Excel não tem como saber.

  • Horas úteis do dia atual:

Assim como no primeiro, calculei as horas do dia do fechamento.

=A2 - DATA(ANO(A2);MÊS(A2);DIA(A2)) - "08:00"-SE(HORA(A2)>13;"1:00";"0:00")

Eu espero que isso ajuda. Boa sorte.

Exatamente!