Calcular 9 a 5 horas

-1

Eu quero calcular o número de horas de negócios entre 2 dias.

Por exemplo

A                   B
15/05/2013 13:25    31/05/2013 10:20
19/05/2013 09:12    22/05/2013 21:10

Eu quero obter resultado na coluna C com possível termo seguinte ..

6d 15h 20m

ou qualquer coisa semelhante ao acima. Por favor ajude.

Parthiv
fonte
1
Não tenho certeza se entendi completamente. Qual deve ser o resultado da primeira linha do seu exemplo? 6d 15h 20m? Você poderia esclarecer?
Jerry
Desculpe Jerry. Sim esse resultado eu quis dizer. Eu preciso de horas totais de trabalho na coluna C. (BA), mas eu estou completamente inconsciente da fórmula.
Parthiv
1
Isso é um pouco mais complicado do que apenas uma diferença de horas. Você levará em conta os fins de semana? Dias de folga? Feriados? Ou apenas a diferença de horas? E a propósito, 6d 15h 20m não é um número de horas.
Viajando Tech Guy

Respostas:

2

A solução é apresentada neste site e envolve uma fórmula bastante complexa:

=IF(AND(INT(StartDT)=INT(EndDT),NOT(ISNA(MATCH(INT(StartDT),
HolidayList,0)))),"0 days 0 hours", IF(INT(StartDT)=INT(EndDT),
"0 days " & ROUND(24*(EndDT-StartDT),2)&"hours",
MAX(NETWORKDAYS(StartDT+1,EndDT-1,HolidayList),0)+
INT(24*(((EndDT-INT(EndDT))-(StartDT-INT(StartDT)))+
(DayEnd-DayStart))/(24*(DayEnd-DayStart)))&
" days "&MOD(ROUND(((24*(EndDT-INT(EndDT)))-24*DayStart)+
(24*DayEnd-(24*(StartDT-INT(StartDT)))),2),
ROUND((24*(DayEnd-DayStart)),2))&" hours "))

Assume os seguintes nomes:

  • StartDT - Data e hora de início ( 25-Oct-99 13:00)
  • EndDT - data e hora de término ( 28-Oct-99 15:00)
  • DayStart - Início de um dia de trabalho ( 9:00)
  • DayEnd - Fim de um dia de trabalho ( 17:00)
  • HolidayList - Um intervalo contendo uma lista de datas a excluir

Eu não posso testá-lo como não tenho o Excel, mas ele deve fazer o trabalho. É claro que você pode alterar a fórmula para obter resultados diferentes.

slhck
fonte
Não retornou o valor. Dá 0 dias 0 horas
Parthiv
1
@pnuts Obrigado por confirmar isso. Não tenho o Excel para tentar alterá-lo, portanto, se você puder criar uma maneira simples de obter a saída desejada, sinta-se à vontade para editar minha resposta.
slhck
0

Você não pode chegar ao seu resultado desejado em uma única célula, mas você pode calcular a duração em C1 (assumindo que você está na linha 1) usando =ABS(B1-A1). Isso fornecerá o número de dias como um valor de ponto flutuante. Você pode então usar outras células e fórmulas para dividir esse número em horas, minutos e segundos, usando ROUNDDOWN()para calcular inteiros.


Edit: Aqui está o conteúdo da minha planilha de exemplo, já que não consigo anexá-lo aqui e não sei quais são as políticas de vinculação a arquivos que podem ou não estar lá no futuro. Isso calcula todo o tempo na duração, não apenas das 09:00 às 17:00 M – F. @ resposta do slhck pode ser mais adequada.

Linha 1: (A) Start (B) Stop (C) Days (D) Hours (E) Minutes (F)Seconds

Linha 2: (A) 5/1/2013 17:55:00 (B) 6/3/2013 1:22:00 (C) =ROUNDDOWN(ABS(B2-A2)) (D) =ROUNDDOWN(((ABS(B2-A2))-C2)*24) (E) =ROUNDDOWN(((((ABS(B2-A2))-C2)*24)-D2)*60) (F)=((((((ABS(B2-A2))-C2)*24)-D2)*60)-E2)*60

jsejcksn
fonte
Esta questão é provavelmente sobre a segunda parte que você não descreve em detalhes. Exemplo: das 17:00 às 17:00 de sexta-feira dá o mesmo resultado de seg 8:00 a qua 17:00.
Daniel Beck
@DanielBeck Eu atualizei a minha resposta em resposta ao seu comentário.
jsejcksn