Horas nocturnas

07/02/2006 - 22:14 por Blade | Informe spam
Hola a todos, perdonar por mi total desconocimiento de este estupendo
programa, haora mi duda es la siguiente
Necesito una formula la cual me calcule las horas nocturnas trabajadas peo
de una manera concreta ejemplo
Hora de entrada a las 23:00 h, hora de salida a las 05:00 h, que me calcule
las horas nocturnas partiendo de la base que se empieza a contar como tales a
partir de las 22:00 y se termina a las 06:00

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
08/02/2006 - 09:00 | Informe spam
hola, Blade !

Necesito una formula la cual me calcule las horas nocturnas trabajadas peo de una manera concreta ejemplo
Hora de entrada a las 23:00 h, hora de salida a las 05:00 h
que me calcule las horas nocturnas partiendo de la base que se empieza a contar como tales... de las 22:00... a las 06:00



el tema que consultas [seguramente] va a 'despertar polemicas' :)) [p.e.]

1) mientras mas -posibles- 'eventualidades' necesiten ser 'cubiertas'...
menores son la posibilidades de 'mantener delgada' una formula :-(
2) considera las -posibles- combinaciones que pudieran darse dependiendo de si los eventos que se dan son...
entrada/salida <-> ma#ana/tarde/noche <-> jornada 'normal' / jornada 'larga' <-> ???
3) 'jornadas laborales' de 1:00 a 23:00 [no dudo que 'existan'... pero...] podrian 'presentarse' en tu caso ???

-> [por lo pronto]... para 'el caso especifico' que expones, y suponiendo que 'entrada' es 'A2' y 'salida' en 'B2'
y ambas celdas con formato [y entrada de datos] en h:mm
prueba con las siguientes formulas [p.e.] en 'C2'
a) suponiendo que 'salida' sera SIEMPRE 'al dia siguiente'...
=si(a2>0.25,1-max(a2,22/24),0.25-min(a2,0.25))+si(b2>22/24,b2-22/24,min(b2,0.25))
b) si la hora de salida es MAYOR que la hora de entrada [y todavia 'del dia siguiente']...
=si(a2>0.25,1-max(a2,22/24),0.25-min(a2,0.25))+si(b2>22/24,b2-22/24,min(b2,0.25))+(2/24)*(b2>a2)

existen bastantes mas 'alternativas' que [de seguro] iran 'alargando' la formula [dependiento de los puntos anteriores] :-((
si vas a utilizar dichas formulas en 'bastantes' celdas... [te sugiero] cambia los si'es condicionales por la funcion elegir(...)
[habria que 'invertir' el orden de los factores] :D

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 AnSanVal
08/02/2006 - 15:37 | Informe spam
Quizás con una función personalizada:
Function Nocturnas(entrada As Double, salida As Double)
entrada = entrada - Int(entrada)
salida = salida - Int(salida)
If entrada > 0.25 And entrada < 0.91667 Then entrada = 0.91667
If salida > 0.25 And salida < 0.91667 Then salida = 0.25
If salida < entrada Then salida = salida + 1
Nocturnas = salida - entrada
If Nocturnas > 0.33 Then
MsgBox "Error en el orden de las horas", vbCritical, "AnSanVal"
Nocturnas = 0
End If
End Function

Suponiendo que la fecha de entrada está en A1 y la de salida en B1, escribe
en la celda donde quieras el resultado: =nocturnas(A1;B1)

Un saludo desde Tenerife (España).
Respuesta Responder a este mensaje
#3 Blade
08/02/2006 - 16:57 | Informe spam
"Héctor Miguel" escribió:

Hola hector, gracias por contestarme de una manera tan rapida
tu formula es valida pero solo en parte, me supongo que sera por que no me
he explicado en condiciones

necesito una formula que me diga las horas nocturnas que realizo contando
que a partir de las 22 h ya se considera nocturna ejemplo
Hora de entrada a las 15:00 h y de salida a las 02:00 h las nocturnas serian 4
con tu formula este resultado se da pero si entro a las 12:00 y salgo a las
22:30 las nocturnas serian 0:30 y con tu formula no lo consigo,
Gracias de antemano>
el tema que consultas [seguramente] va a 'despertar polemicas' :)) [p.e.]

1) mientras mas -posibles- 'eventualidades' necesiten ser 'cubiertas'...
menores son la posibilidades de 'mantener delgada' una formula :-(
2) considera las -posibles- combinaciones que pudieran darse dependiendo de si los eventos que se dan son...
entrada/salida <-> ma#ana/tarde/noche <-> jornada 'normal' / jornada 'larga' <-> ???
3) 'jornadas laborales' de 1:00 a 23:00 [no dudo que 'existan'... pero...] podrian 'presentarse' en tu caso ???

-> [por lo pronto]... para 'el caso especifico' que expones, y suponiendo que 'entrada' es 'A2' y 'salida' en 'B2'
y ambas celdas con formato [y entrada de datos] en h:mm
prueba con las siguientes formulas [p.e.] en 'C2'
a) suponiendo que 'salida' sera SIEMPRE 'al dia siguiente'...
=si(a2>0.25,1-max(a2,22/24),0.25-min(a2,0.25))+si(b2>22/24,b2-22/24,min(b2,0.25))
b) si la hora de salida es MAYOR que la hora de entrada [y todavia 'del dia siguiente']...
=si(a2>0.25,1-max(a2,22/24),0.25-min(a2,0.25))+si(b2>22/24,b2-22/24,min(b2,0.25))+(2/24)*(b2>a2)

existen bastantes mas 'alternativas' que [de seguro] iran 'alargando' la formula [dependiento de los puntos anteriores] :-((
si vas a utilizar dichas formulas en 'bastantes' celdas... [te sugiero] cambia los si'es condicionales por la funcion elegir(...)
[habria que 'invertir' el orden de los factores] :D

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#4 Héctor Miguel
09/02/2006 - 07:09 | Informe spam
hola, Blade !

... tu formula es valida pero solo en parte, me supongo que sera por que no me he explicado en condiciones
... las horas nocturnas... a partir de las 22 h... ejemplo... entrada a las 15:00 h y de salida a las 02:00 h... serian 4
... tu formula... da pero si entro a las 12:00 y salgo a las 22:30 las nocturnas serian 0:30... no lo consigo



dejare los comentarios 'de lado' [por el momento] porque ya te habia 'anticipado' la cuestion de las 'eventualidades' :))

1) la funcion propuesta por AnSalVal puede 'traducirse' a funciones de hoja de calculo +/- como sigue:
=si(y(b2>0.25,b2<(22/24)),0.25,b2)-si(y(a2>0.25,a2<(22/24)),22/24,a2)
+(si(y(a2>0.25,a2<(22/24)),22/24,a2)>si(y(b2>0.25,b2<(22/24)),0.25,b2))

2) si la vas a utilizar en bastantes celdas :-(( [te sugiero] cambia las funciones si(...) por elegir(...)
=elegir(coincidir(b2,{0\6\22}/24),b2,0.25,b2)-elegir(coincidir(a2,{0\6\22}/24),a2,22/24,a2)
+(elegir(coincidir(a2,{0\6\22}/24),a2,22/24,a2)>elegir(coincidir(b2,{0\6\22}/24),b2,0.25,b2))

-> ambas 'formulas' tienen una 'falla' en el 'manejo' de las horas 'en negativo' [que no le gustan al excel] :D
e incluso la funcion personalizada, alcanza ciertas fallas [devuelve CEROS p.e.] con los siguientes 'estimados' de...
entra sale nocturnas
19:00 6:00 8:00
23:00 22:30 7:30
5:30 22:30 1:00
17:50 15:00 8:00
17:50 6:00 8:00
3:45 2:45 7:00
3:45 3:44 7:59

3) la siguiente formula [por funciones de hoja de calculo] creo que +/- alcanza a cubrir la mayoria de las eventualidades [imaginarias] :))
obviamente... la 'delgadez' de la formula ha ido a parar a la otra acera de la calle :DD
=elegir(coincidir(a2,{0\6\22}/24),(6/24-a2)*o(a2>b2,b2>(6/24)),2/24*y(a2>b2,b2>0.25),(1-a2)*(a2>b2))
+elegir(coincidir(b2,{24\22\6}/24,-1),6/24*(a2>b2)+b2-22/24-y(a2>(22/24),b2>a2)*(a2-(22/24)),
6/24*y(a2>(6/24),a2>b2),b2+((2/24)*y(a2<(22/24),a2>b2))-(a2*(b2>a2)))

haz pruebas y ya comentaras otras circunstancias que [de seguro] iran 'apareciendo sobre la marcha' ;)
saludos,
hector.
=>> el tema que consultas [seguramente] va a 'despertar polemicas' :)) [p.e.]

1) mientras mas -posibles- 'eventualidades' necesiten ser 'cubiertas'...
menores son la posibilidades de 'mantener delgada' una formula :-(
2) considera las -posibles- combinaciones que pudieran darse dependiendo de si los eventos que se dan son...
entrada/salida <-> ma#ana/tarde/noche <-> jornada 'normal' / jornada 'larga' <-> ???
3) 'jornadas laborales' de 1:00 a 23:00 [no dudo que 'existan'... pero...] podrian 'presentarse' en tu caso ???

-> [por lo pronto]... para 'el caso especifico' que expones, y suponiendo que 'entrada' es 'A2' y 'salida' en 'B2'
y ambas celdas con formato [y entrada de datos] en h:mm
prueba con las siguientes formulas [p.e.] en 'C2'
a) suponiendo que 'salida' sera SIEMPRE 'al dia siguiente'...
=si(a2>0.25,1-max(a2,22/24),0.25-min(a2,0.25))+si(b2>22/24,b2-22/24,min(b2,0.25))
b) si la hora de salida es MAYOR que la hora de entrada [y todavia 'del dia siguiente']...
=si(a2>0.25,1-max(a2,22/24),0.25-min(a2,0.25))+si(b2>22/24,b2-22/24,min(b2,0.25))+(2/24)*(b2>a2)

existen bastantes mas 'alternativas' que [de seguro] iran 'alargando' la formula [dependiento de los puntos anteriores] :-((
si vas a utilizar dichas formulas en 'bastantes' celdas... [te sugiero] cambia los si'es condicionales por la funcion elegir(...)
[habria que 'invertir' el orden de los factores] :D
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida