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.
6d 15h 20m? Você poderia esclarecer?