Tempo decorrido em horas entre várias datas no Excel

0

Eu estou tentando encontrar uma fórmula que funcione fora do horário comercial entre duas datas no excel.

O horário comercial começa às 09:00 e termina às 17:00 e não inclui finais de semana.

A planilha atualmente é apresentada da seguinte maneira;

A1: Start Time       -       B1: End Time   -       C1: Total Business hours
A2: 2016-01-04 10:31:17   -  B2: 2016-01-06 10:02:14

Existe uma fórmula que eu possa usar para calcular a diferença de horário (horário comercial) e exibi-la em C2?

Brownie94
fonte
como você deseja gerenciar os minutos? Qual é o resultado esperado em seu exemplo?
Máté Juhász
Eu estou trabalhando nisso no momento, mas não é fácil fazer o que você está pedindo
Michthan
O resultado esperado no exemplo é 15 horas e 31 minutos (não se preocupe com os segundos). Se você conseguir chegar perto, seria ótimo!
Brownie94
É para um tempo de resolução do ticket do helpdesk, então a resposta mostrará por quanto tempo o ticket foi aberto no sistema. Mas precisamos de tempo para incluir apenas as horas de trabalho de negócios
Brownie94
Esses exemplos incluem datas de início e término que não estão no mesmo ano?
Michthan

Respostas:

0

Supondo que as datas estejam no mesmo ano e negligenciando um pequeno erro de arredondamento, encontrei uma solução viável:

Primeiro explicarei e adicionarei a fórmula abaixo.

Eu dividi a solução em várias instâncias se

IF 1: DATAS NA MESMA SEMANA

IF(WEEKNUMBER(A2)=WEEKNUMBER(B2);

IF 1.1: DATAS NO MESMO DIA

IF(DAY(A2)=DAY(B2));

Pegue as horas da data final menos as horas da data de início = resultado

(B2-A2)*24;

SE 1.2: DATAS NÃO NO MESMO DIA

Pegue o dia da data final menos o dia da data de início (= os dias entre as duas datas) e multiplique por 8 (= 17-9) e adicione a diferença em horas. A função MOD é usada para cortar os dias das datas e permanecer apenas com o tempo.

(DAY(B2)-DAY(A2))*(17-9)+(MOD(B2,1)-MOD(A2,1))*24);

SE 2: DATAS NÃO NA MESMA SEMANA

Eu calculo o número de horas das semanas no meio, então eu adiciono as horas da data de início até o final da semana de início (felizmente o ano começou em uma sexta para que eu pudesse fazer weeknumber (data inicial) * 7 e finalmente eu adicione o número de horas desde o início da semana até a data final.

(WEEKNUMBER(B2)-WEEKNUMMER(A2)-1)*5*(17-9)+(WEEKNUMBER(A2)*7-QUOTIENT(A2;1))*(17-9)+17+(QUOTIENT(B2;1)-(WEEKNUMBER(B2)*7-4))*(17-9)+(MOD(B2;1)-MOD(A2;1))*24-9)

No final, você só precisa juntar todos esses pedaços de código e calcular o horário comercial entre as datas.

Michthan
fonte
0

Aqui está outra fórmula que usa o NETWORKDAYS função que permitiria especificar feriados ou, se você tiver uma versão posterior do Excel, você poderia substituir NETWORKDAYS.INTL para especificar quais dias são seu fim de semana.

  • Conte 8 horas para cada dia útil
  • Subtraia o tempo entre 9:00 e o start_time real
  • Subtraia o tempo entre o end_time real e as 17:00 nessa data:

=NETWORKDAYS([@[Start Time]],[@[End Time]])*8/24-
([@[Start Time]]-(INT([@[Start Time]])+9/24))-
(INT([@[End Time]])+17/24-[@[End Time]])

Como ajustamos para representar o tempo como frações de um dia, os resultados estarão no formato de data / hora do Excel e podem ser formatados para exibir segundos, se desejar.

enter image description here

Ron Rosenfeld
fonte