Ir ao conteúdo
  • Cadastre-se

Horas noturnas


Posts recomendados

Bom dia amigos, mais uma vez venho pedir o auxilio de vocês.

Tenho esta planilha (anexa), ela calcula tudo direitinho, apenas a coluna de adicional noturno que ainda não tem fórmula.

Na aba premissas nas colunas C14 e D14 temos o horário noturno que compreende entre 22:00 h até 05:00 horas.

Na aba Geciara na coluna 0, tenho o adicional noturno.

o que preciso é que ao preencher as colunas D,E,FeG seja calculado automáticamente as horas noturnas na coluna O.

Exemplo.

Entrada 20:30 saída para refeição 01:00 entrada da refeição 02:00 saída 06:48 neste caso na coluna -  O deve mostrar o n° de horas noturnas ou seja 07:00

Planilha anexa.

Controle de cartão de ponto Goldenpark ADM Golden.xlsx

Link para o comentário
Compartilhar em outros sites

Olá Osmarbg,

 

ainda q não resolvendo seu problema principal, alterei duas fórmulas da sua planilha q considero q melhoram a rapidez do cálculo.

Na tabela q você denominou ESPELHO (Y7:AB37) alterei a parte q lidava com o tempo como texto.

=SE(OU(D8="";D8=0;D8="FALTA";D8="SUSPENSO";D8="SUSPENSÃO");"";TEMPO(INT(D8/100);DIREITA(D8;2);0))

 

Assim as fórmulas da coluna I da aba Geciara ficaram mais enxutas agilizando o cálculo.

=SE(ÉERROS(SE(OU($Z8="";$Z8=0);0;(SE($Z8<$Y8;(1-$Y8+$Z8);$Z8-$Y8))+SE(OU($AB8="";$AB8=0);0;(SE($AB8<$AA8;(1-$AA8+$AB8);$AB8-$AA8)))));0;SE(OU($Z8="";$Z8=0);0;(SE($Z8<$Y8;(1-$Y8+$Z8);$Z8-$Y8))+SE(OU($AB8="";$AB8=0);0;(SE($AB8<$AA8;(1-$AA8+$AB8);$AB8-$AA8)))))

Controle de cartão de ponto Goldenpark ADM Golden.xlsx

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Osmarbg disse:

Não tem jeito então?

 

 

Você optou for formatar as células para exibir números com "aparência" de horas, provavelmente para evitar a digitação dos dois pontos. Com essa solução, ao digitar 2030, na célula será exibido 20:30, no entanto o conteúdo da célula será o número 2030 e não 20h30. Essa solução não permite utilizar os valores diretamente nas fórmulas, então surgem as fórmulas gambiarras para contornar a situação.

A solução tecnicamente recomendável é transformar o número em horas via macro. Se quiser experimentar instale o código abaixo no módulo da planilha de interesse; antes formate o intervalo para Geral. O código irá atuar no intervalo "D7:G37", altere se necessário.

Depois disponibilize o arquivo que o Mestre Patropi desenvolve as fórmulas pra você.


 

Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("D7:G37")) Is Nothing Then Exit Sub
 On Error Resume Next
 Application.EnableEvents = False
 Target.Value = Left(Target.Value, Len(Target.Value) - 2) & ":" & Right(Target.Value, 2)
 Application.EnableEvents = True
End Sub

 

Link para o comentário
Compartilhar em outros sites

@Osmarbg  Abri o seu arquivo e notei uma falha no código que passei. Assim, nos casos de se digitar apenas os minutos, sem as horas, o código retorna resultado incorreto.

Segue abaixo o código corrigido. Quem for desenvolver as fórmulas poderá colocá-lo no lugar do anterior. Para inserir 00:06 digite apenas 6, para inserir 00:42 digite 42, para inserir 08:25 digite 825, para inserir 18:09 digite 1809.

Outro ponto que notei na Validação de Dados que você aplicou ao intervalo o máximo valor admitido pela Validação é 2459. Esse horário 24h59 não existe para o Excel. O máximo permitido deve ser 2359 depois desse valor o Excel volta a 00:00 e não 24:00.

Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("D7:G37")) Is Nothing Then Exit Sub
 On Error Resume Next
 Application.EnableEvents = False
 If Len(Target.Value) = 1 Then
  Target.Value = "00:0" & Target.Value
 ElseIf Len(Target.Value) = 2 Then
  Target.Value = "00:" & Target.Value
 Else: Target.Value = Left(Target.Value, Len(Target.Value) - 2) & ":" & Right(Target.Value, 2)
 End If
 Application.EnableEvents = True
End Sub

 

Link para o comentário
Compartilhar em outros sites

Ok Osmarbg, aí está uma planilha com tudo q você pediu.

Entrada como número p/ hora com validação checando se o número entrado é uma hora válida e cálculo da hora noturna descontando a parada p/ jantar.

 

Experiência interessante, nunca tinha feito uma dessas.

Controle de cartão de ponto Goldenpark ADM Golden.xlsx

Link para o comentário
Compartilhar em outros sites

DJunqueira, bom dia.

Muito obrigado, era exatamente isso que precisava, agora esta tudo funcionando.

Agradeço a você e aos outros que me ajudaram, não apenas neste tópico mas em todas as postagens que fiz e nunca fiquei sem solução para os meus problemas.

Um ótimo dia a todos.

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!