Controle de horas noturnas
Esta não é a primeira vez que falamos sobre controle de horas aqui no Função Excel, temos pelos menos outros 3 artigos tradando de assuntos relacionados a horas no Excel, vou deixar o link de todos eles no final deste parágrafo. Pois bem, mais um artigo sobre horas e neste vamos tratar de algo específico, que são funcionários com horário noturno, em especial aqueles que começam a trabalhar na noite de um dia e encerram seus expedientes na manhã do dia seguinte, se você tem de fazer esse tipo de controle, sabe que a matemática por trás não é tão óbvia assim, vamos a ela.
Vídeo explicativo
Abaixo deixo um vídeo onde explico toda a ideia por trás dessa forma de controlar a hora de funcionários com horário noturno, caso preferir, pode seguir a leitura mais abaixo.
Coloque o vídeo em tela cheia para assistir normalmente
Entendendo o problema do horário noturno
O problema que queremos contornar aqui é, como calcular o saldo de horas de um funcionário que começa a trabalhar na noite de um dia e encerra seu expediente na manhã do dia seguinte. A matemática lógica de Hora de Saída – Hora de Entrada (hora de saída menos hora de entrada) parece não funcionar nesse caso, o Excel nos retorna um erro quando fazemos isso, conforme mostra a imagem abaixo.
O motivo real que isso acontece é que para o Excel as horas são apenas números (número mesmo), uma forma de ver isso é escrever um horário numa célula, exemplo 5:00, e depois mudar a formatação da célula para número, e você entenderá o que quero dizer, como mostro na imagem.
Como podemos notar, o número que representa a nossa 5:00 é menor do que o número que representa 21:00, e quando subtraímos uma de outra, obtemos um número negativo (não parece fazer sentido), como não existem horas negativas, temos um erro na nossa fórmula.
Controlando horário noturno – Solução 1
Já aviso que eu particularmente prefiro essa solução do que a segunda mais adiante, mas acho que vale a pena deixar ambas, talvez você prefira a segunda.
Bom, na primeira solução o que faremos é adicionar 12 horas nessa nossa matemática para ambos os horários (entrada e saída). E o motivo de fazermos isso é muito simples, sabemos que quando tentamos subtrair uma hora maior de uma hora menor, no nosso exemplo subtrair 21h de 5h obtemos um erro, mas quando fazemos o contrário, subtrair uma hora menor de uma hora maior, o erro não ocorre e a matemática acontece corretamente.
Assim adicionando 12h para ambos os horários, estaremos convertendo eles para suas horas opostas, ou seja:
5:00 + 12:00 = 17:00
21:00 + 12:00 = 9:00
Note que agora podemos fazer a subtração desejada, e o intervalo entre as duas horas permanece sendo o mesmo.
Então nossa fórmula ficaria assim:
Hora de saída + TEMPO(12,0,0) – Hora de entrada + TEMPO(12,0,0)
Ou, simplificando:
Hora de saída – Hora de entrada + TEMPO(12,0,0)*2
Não vá pensando que você pode arrancar aquela multiplicação por 2 e usar TEMPO(24,0,0) que não vai dar certo, tem que ser TEMPO(12,0,0)*2 mesmo.
Vejamos o resultado.
Controlando horário noturno – Solução 2
Uma hora exibida numa célula do Excel nunca é somente uma hora, além de ser essencialmente um número, como vimos mais acima, é também uma data. Ou seja, sempre que você insere uma hora numa célula do Excel, você também está inserindo uma data junto, sem saber. Para verificar que isso acontece, insira uma hora qualquer numa célula, e mude a formatação da célula para data com hora, confira na imagem como fica (mesmo exemplo das 21:00 e 5:00).
Então, quer dizer que estamos tentando subtrair não só uma hora qualquer de uma outra hora qualquer menor, estamos subtraindo um período de tempo (data e hora) maior de um menor, isso é de fato impossível. Então a segunda solução seria mudar a data do horário de saída do funcionário, que é o que de fato acontece, ele começa a trabalhar na noite de um dia e encerra o trabalho na manhã do dia seguinte, não na manhã do mesmo dia, pois ele não consegue voltar no tempo (até onde sabemos).
Fazendo isso, alterando a data da segunda célula, não precisamos modificar nosso cálculo intuitivo em nada, basta fazer uma célula menos a outra e o cálculo estará correto, confira na imagem (Você pode trocar a formatação de volta para somente horas depois que continuará funcionando).
Acompanhe o Função Excel
Tive uma situação de quebrar a cabeça para resolver um relatório de desempenho operacional:
Ex. um tecnico tem jornada das 07h00 as 16h00
ele pode chegar minutos antes de iniciar o proprio turno, e durante troca de turno, poderá fechar chamados da madruga, ou abrir novos chamados.
Tive que fazer controles em tabelas auxiliares para validar o que foi fechado antes (07h) e depois do expediente (16h) e tambem o que foi aberto antes (07h) e depois do expediente (16h), alem do que foi realizado dentro da propria jornada.
O mais divertido é que são ao menos 8 jornadas diferente e aproximadamente 60 tecnicos.
Quando o tecnico esta de home-office pode ser que a jornada da escala do dia dele seja diferente da jornada prevista.