Página 1 de 1

Calculo de dias e horas úteis

Enviado: 08 Mar 2018 às 14:22
por MMDias
Olá,

Preciso de calcular o tempo útil que passou entre a abertura de um processo e o seu fecho, mas tendo em atenção o horário de funcionamento

(de segunda a sexta 08:00-20:00, sábado 08:00-13:00, domingo fechado)

Imagem

No exemplo eu sei que dia 04 domingo (00:00), dia 05 segunda (12:00) e dia 06 terça (06:40). No total deverá dar 18:40.

Alguém me consegue ajudar a conseguir colocar isto numa formula?

Obrigado desde já!

Re: Calculo de dias e horas úteis

Enviado: 09 Mar 2018 às 13:48
por MMDias
Para perceberem melhor e poderem ajudar, anexo um ficheiro com os dados.

Re: Calculo de dias e horas úteis

Enviado: 09 Mar 2018 às 18:28
por gfranco
Boa tarde.
Creio que o seguinte deva atendê-lo.
Código: Selecionar todos
  https://excelmaniacos.com/2016/12/20/udf-datasla-calculando-sla-service-level-agreement/amp/

Re: Calculo de dias e horas úteis

Enviado: 12 Mar 2018 às 08:37
por MMDias
gfranco escreveu:Boa tarde.
Creio que o seguinte deva atendê-lo.
Código: Selecionar todos
  https://excelmaniacos.com/2016/12/20/udf-datasla-calculando-sla-service-level-agreement/amp/
Obrigado gfranco pela ajuda, mas não é bem isso que preciso.

No exemplo que deu é fornecido o inicio e o tempo SLA e a função devolve o final.

No meu caso eu digo qual o inicio e o final e necessito que a função devolva o tempo decorrido, tendo em atenção o horário de expediente.

Obrigado por tentar ajudar!

Re: Calculo de dias e horas úteis

Enviado: 12 Mar 2018 às 14:53
por MMDias
Bom dia!


Obrigado a todos, mas já consegui ajuda noutro local para resolver.

Seguem os passos para quem necessitar:

1) Crie uma planilha com o nome de DataHora com o layout da figura abaixo.

Imagem

a) Note que deve ser criada uma tabela do Excel na respectiva planilha com os seguintes rótulos de colunas Início, Final e Total. Dê a ela o nome de TabDH.

b) Somente digite os dados das colunas Início e Final (na coluna Total vai ser inserida a fórmula no passo 3).

2) Em seguida, crie os seguintes nomes:

HsIn =DataHora!$A$2:$A$3
HsFi =DataHora!$B$2:$B$3
THsD =DataHora!$A$6:$A$8
DSDIn =DIA.SEMANA(TabDH[@Início])
DSDFi =DIA.SEMANA(TabDH[@Final])
DSD2DN_1 =DIA.SEMANA(LIN(INDIRECTO(INT(TabDH[@Início])+1&":"&INT(TabDH[@Final])-1)))

3) Agora, coloque a fórmula abaixo na célula C11:
=(DSDIn>1)*(MÍNIMO(ÍNDICE(HsFi;1+(DSDIn=7));SE(INT([@Final])-INT([@Início])=0;MOD([@Final];1);2))-MED($A$2;ÍNDICE(HsFi;1+(DSDIn=7));MOD([@Início];1)))+(INT([@Final])-INT([@Início])>=2)*SOMARPRODUTO(PROC(DSD2DN_1;{1;2;7};THsD))+(DSDFi>1)*(INT([@Final])-INT([@Início])>0)*(MED(MOD([@Final];1);ÍNDICE(HsFi;1+(DSDFi=7));$A$2)-$A$2)

4) Finalmente, faça testes (alterando as datas das colunas Início e Final) para verificar se tudo está Ok.