Horas de nocturnidad

Aun sigo con la dichosa tabla, y en este caso, me falta poder calcular las horas trabajadas en periodo de noturnidad, comprendido desde las 22:00 hasta las 06:00 del día siguiente.
Se puede dar el caso que la jornada laboral este comprendidad entre esas horas o no, me explico con un ejemplo
inicio de jornada 22:00 final 06:00 en este caso fácil total 8 horas nocturnas y también de jornada
inicio de jornada 18:00 final 05:00 serian 7 horas nocturnas y un total de 11horas de jornada.
Por favor que fórmula he de poner para calcular las horas nocturnas, dentro de una jornada.
Esta era la pregunta que ya en su día cerré, pero al trabajarla me ha ocurrido lo siguiente
la fórmula era =+B2-A2+24-((22/24)-A2), al introducirla se pone la cifra de 554:00, y no me da el resultado obtenido y ponga las horas que ponga siempre me da 560:00
gracias y perdonar por haber cerrado la pregunta sin comprobar

1 respuesta

Respuesta
2
Me extraña mucho, dado que he probado la fórmula y los resultados son satisfactorios. Más abajo estoy adjuntado el mismo ejemplo por medio de una foto. Como podrás ver, no hay ningún problema.
Otro detalle que debes revisar es el formato que tiene la celda. En la foto también se muestra el tipo de formato que deberá tener para visualizar correctamente el resultado.
Si en todo caso, los resultados no son conformes me avisas en que caso específicamente da ese resultado de 560:00
NO olvides de finalizar y puntuar
Christian
=====
http://imageshugger.com/images/ums86j8uaomylpgj8evn.jpg
Gracias por tu interés,
Efectivamente tenia mal configurado el formato de la celda, pero aun tengo problemas, no siempre va bien, cuando pongo la jornada de 23:00 a 3:00 me salen 5 horas, otro ejemplo es de 23:30 a 6:00 me sale 8 horas.
También, cuando metí esa fórmula, sin poner datos aun de horas de comienzo y terminación, sale automáticamente 2 horas, ¿por qué? Si aun no intruduje datos.
Te agradecería tu contestación
Un abrazo
Si efectivamente, tienes toda la razón. Mejoraremos la fórmula anterior por esta. Simplemente le hemos agregado un poco más a la fórmula anterior. La fórmula es una sola, luego lo que queda es arrastrar. La fórmula se visualiza en la gráfica que esta más abajo.
Después de ello, no deberías tener problemas.
NO olvides de finalizar y puntuar la respuesta al final de esta página.
Christian
*****
http://imageshugger.com/images/vhcqkcgo71z7sfeca1ru.jpg
Bien, te agradezco tu colaboración, pero me sigue dando problemas, quizás no me explique bien del todo, verás
funciona bien si el comienzo de la jornada es antes de las 24:00, osea si empiezo a las 4:00 de la madrugada y trabajo hasta las 10:00 por ejemplo, no funciona, debería darme 2:00 horas, pero me da 12:00, y claro debe de ser el perido desde las 22:00 hasta las 6:00 del día siguiente, independiente de la hora que empiece la jornada, que puede ser dentro de ese horario o no, incluso que comprenda más de las 8:oo horas de nocturnidad.
La jornada puede empezar a cualquier hora, no siempre antes de las 24:00
se que estas cerca, ya te digo, quizás no me explique bien
gracias, de todas formas yo sigo investigando, pero me harías un gran favor si dieras con la dichosa fórmula, me quita el sueño
saludos
Comprendo. Bueno, hemos mejorado la fórmula por esta otra:
=SI(B1>A1;(6/24)-A1;SI(O(A1="";B1="");0;B1-A1+24-((22/24)-A1)))
La fórmula anterior se encuentra en la misma celda donde están las otras (según las fotos), es decir en la celda C1.
Espero haberte ayudado en tu caso. No olvides de finalizar y puntuar la respuesta al final de esta página.
Saludos Christian
Tampoco es la buena, meto la dichosa fórmula, por ejemplo de 22:00 6:00 y me sale 23,33. Otro ejemplo de 17:00 5:00 y sale 23.29 y así sucesivamente.
Sin animo de ofender, si no todo lo contrario, pruebas las fórmulas antes de mandarlas ¿, es que pienso que yo hago algo mal, o no me explique bien.
El tema es el siguiente necesito calcular las horas nocturnas( 22:00 a 6:00) de una jornada, que puede estar dentro de esas horas o parte de ellas, por ejemplo, una jornada que empiece a las 18:00 hasta las 10:00 del día siguiente, o otra desde las 22:00 hasta las 6:00, u otra de 14:00 hasta las 23:00 del mismo día, etc etc
Lo siento amigo, por las molestias que te ocasiono, se que es difícil explicarse por este medio, pero seguiremos intentándolo, yo al menos lo hago, y te juro que me quita el sueño
un saludo amigo
De acuerdo. Evaluare tu caso con detenimiento. Aunque debo decirte que normalmente pruebo las fórmulas. Quizá no le doy casos especiales como tu lo estas encontrando. Estamos fin de semana. La semana entrante trabajare en ello, con más calma.
Gracias por tu atención, espero tu solución con ansiedad de novato, te comprendo y tendré paciencia.
Saludos
No me he olvidado de Ud. Es grato tener usuarios pacientes, esa es una de las tantas razones por la que sigo aportando aquí. Pues bien con respecto al tema, indudablemente no fue sencillo establecer todos los escenarios posibles con respecto a las horas.
Tener ello en una fórmula es imposible. Lo mejor es tener una función creada por el usuario con empleo de macros. En total pude encontrar 12 escenarios posibles. Tuve que ir más allá y pensar en todo. Hice las pruebas pertinentes y fueron satisfactorias.
Lo primero que debes hacer es abrir tu libro, luego haces ALT+F11. Saldrá una ventana. Una vez allí, situate en el menu Insertar y escoge "Modulo". En esa ventana en blanco copia y pega el siguiente código:
Function HoraN(HoraE, HoraS)
HI = (22 / 24) 'HORA INICIO NOCTURNIDAD 22 SOBRE 24 HORAS
HS = (6 / 24) 'HORA FINAL NOCTURNIDAD 6 SOBRE 24 HORAS
'*==========*===========================================*============*
'0          6                                           22          24
'==== ANALISIS INTERVALO INTERMEDIO
'CASO 1 'PERFECTO
If (HS < HoraE And HoraE < HI) And (HS < HoraS And HoraS < HI) And (HoraE < HoraS) Then
    HoraN = Format(0, "hh:mm")
'CASO 2 'PERFECTO
ElseIf (HS < HoraE And HoraE < HI) And (HS < HoraS And HoraS < HI) And (HoraE > HoraS) Then
    HoraN = Format((8 / 24), "hh:mm")
'==== ANALISIS INTERVALOS EXTREMOS
'CASO 3 'PERFECTO
ElseIf (0 <= HoraE And HoraE <= HS) And (HI <= HoraS And HoraS <= 1) And (HoraE < HoraS) Then
    HoraN = Format(((HS - HoraE) + (HoraS - HI)), "hh:mm")
'CASO 4 'PERFECTO
ElseIf (HI <= HoraE And HoraE <= 1) And (0 <= HoraS And HoraS <= HS) And (HoraE > HoraS) Then
    HoraN = Format((8 / 24) - ((HoraE - HI) + (HS - HoraS)), "hh:mm")
'==== ANALISIS IZQUIERDO E INTERMEDIO
'CASO 5 'PERFECTO
ElseIf (0 <= HoraE And HoraE <= HS) And (HS <= HoraS And HoraS <= HI) And (HoraE < HoraS) Then
    HoraN = Format(HS - HoraE, "hh:mm")
'CASO 6 'PERFECTO
ElseIf (HS <= HoraE And HoraE <= HI) And (0 <= HoraS And HoraS <= HS) And (HoraE > HoraS) Then
    HoraN = Format((8 / 24) - (HS - HoraS), "hh:mm")
'==== ANALISIS DERECHO E INTERMEDIO
'CASO 7 'PERFECTO
ElseIf (HS <= HoraE And HoraE <= HI) And (HI <= HoraS And HoraS <= 1) And (HoraE < HoraS) Then
    HoraN = Format(HoraS - HI, "hh:mm")
'CASO 8 'PERFECTO
ElseIf (HI <= HoraE And HoraE <= 1) And (HS <= HoraS And HoraS <= HI) And (HoraE > HoraS) Then
    HoraN = Format((8 / 24) - (HoraE - HI), "hh:mm")
'==== ANALISIS EXTREMO IZQUIERDO
'CASO 9 'PERFECTO
ElseIf (0 <= HoraE And HoraE <= HS) And (0 <= HoraS And HoraS <= HS) And (HoraE < HoraS) Then
    HoraN = Format(HoraS - HoraE, "hh:mm")
'CASO 10 'PERFECTO
ElseIf (0 <= HoraE And HoraE <= HS) And (0 <= HoraS And HoraS <= HS) And (HoraE > HoraS) Then
    HoraN = Format((8 / 24) - (HoraE - HoraS), "hh:mm")
'==== ANALISIS EXTREMO DERECHO
'CASO 11 'PERFECTO
ElseIf (HI <= HoraE And HoraE <= 1) And (HI <= HoraS And HoraS <= 1) And (HoraE < HoraS) Then
    HoraN = Format(HoraS - HoraE, "hh:mm")
'CASO 12 'PERFECTO
ElseIf (HI <= HoraE And HoraE <= 1) And (HI <= HoraS And HoraS <= 1) And (HoraE > HoraS) Then
    HoraN = Format((8 / 24) - (HoraE - HoraS), "hh:mm")
End If
End Function
'====hasta aqui===
Guarde los cambios y cierre esa ventana. Retorne a VBA. La nueva función se llama HoraN() y consta de 2 argumentos, la primera es la hora de ingreso y la otra de salida, la cual tendrás que referenciar en la fórmula. LLamas a esa función como cualquier otra.
No puedo por el momento adjuntar una captura de la hoja dado que hay problemas con la página que sube las imágenes.
Considerando que en A1 esta la hora de ingreso y en B1 la hora de salida. Entonces en C1 ingrese esta fórmula:
=SI(O(B1="";A1="");0;HoraN(A1;B1))
[Considere el separador de argumentos. Yo use ";"]
Solo no olvide de finalizar y puntuar la respuesta al final de esta página.
Christian
====
Solo para ultimar, cada vez que abras el archivo deberás habilitar las macros lo cual Excel te avisara justo en el momento que abras el file (esto es muy importante!)
Dejo abajo una captura con al fórmula.
NO olvides de finalizar!
Saludos, Christian
=====
http://imageshugger.com/images/kxmdz3y3jiydigcw9c.jpg

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas