Este é um problema surpreendentemente complicado devido à maneira como o Excel armazena e gerencia as datas. Esta solução faz uma série de suposições, especificamente:
- os horários especificados não ultrapassam mais de 24 horas
- am e pm são especificados nas datas de início e término
- não há caracteres estranhos no campo de mudança
- a entrada de cada dia deve ser calculada de forma independente (sem total de duas semanas em uma célula)
Pegue os seguintes dados de exemplo:
AcélulaB2contémaseguintefórmula:
=TIME(LEFT(A2,FIND("-",A2)-3)
+IF(MID(A2,FIND("-",A2)-2,2)="pm",12,0),0,0)
A célula C2 contém a seguinte fórmula:
=TIME(MID(A2,FIND("-",A2)+1,LEN(A2)-FIND("-",A2)-2)
+IF(RIGHT(A2,2)="pm",12,0),0,0)
A célula D2 contém a seguinte fórmula:
=IF(C2>B2,C2-B2,C2+1-B2)*24
Essas células poderiam teoricamente ser combinadas, substituindo todas as referências a B2 e C2 na fórmula final com a função TIME real de cada célula .
Se o objetivo final é somar uma série de turnos para um total de duas semanas, recomendo adicionar uma linha (ou coluna) adicional de cálculos para cada dia individualmente. A linha pode ser referenciada para somar as horas e a linha pode ser ocultada da visualização para evitar interromper o fluxo do documento.