¿Cómo puedo crear una fórmula que me de el valor de una celda dependiendo de un rango de hora?

Necesito obtener el valor de una celda dependiendo de la hora actual, ejemplo:

Obtener el valor de "A1" en la celda "B2" si la hora actual esta entre las "2:30" y las "3:30"

Espero que me puedan ayudar con una fórmula y me la pudiesen explicar ya que no estoy familiarizado con las Macro, tengo ya una celda con hora didáctica más no se si la puedo incluir directo del equipo

"A2"=HORA(AHORA())&":"&MINUTO(AHORA())

1 respuesta

Respuesta
1

Prueba con esta macro, funciona así la macro lee las celdas c2 y d2 en este punto la macro convierte los valores en decimales (2:30=0.1041666), (3:30=0.125), luego estos valores los pongo en el un if si se cumple la condición entonces llenara la celda b2 con el valor de la celda a1, en caso contrario pondrá 0.

Sub poner_valor()
inicio = Range("c2"):   fin = Range("d2")
If inicio >= 0.1041666 And fin <= 0.125 Then
    Range("b2") = Range("a1")
Else
    Range("b2") = 0
End If
End Sub

Ignora la macro anterior prueba con esta, como la anterior lee la hora actual, luego la compara para verificar si esta entre las 21:00 y la 21:30 si es verdadero rrelena el valor de la celda b2 con el valor de la celda a1, caso contrario pone 0, ajusta los valores de la hora a tus necesidades

Sub poner_valor()
ha = Time()
If ha >= CDate("21:00") And ha <= CDate("21:30") Then
    Range("b2") = Range("a1")
Else
    Range("b2") = 0
End If
End Sub

Gracias por contestar, el problema es que tengo inicio y fin en una misma celda, ejemplo

(A1) "11:30 a 12:30" y necesito que en (A2) me devuelva el resultado de la celda (B3)

¿Crees qué se pueda hacer con una fórmula?

Si, esta es la fórmula, solo una cosa para no complicarla más tienes que escribir el horario en 5 dígitos por ejemplo: "02:30 a 03:30", "01:00 a 01:30", en caso contrario la fórmula no funcionara o te dará resultados diferentes

=+SI(Y(TEXTO(AHORA(),"hh:mm")>=TEXTO(IZQUIERDA(A1,5),"hh:mm"),TEXTO(AHORA(),"hh:mm")<=TEXTO(DERECHA(A1,5),"hh:mm")),B3,0)

Ok, parece que si funciona, solo me la pudieses explicar para ver como funciona y adaptarla a mis necesidades por favor?

lA función izquierda lee los cinco primeros dígitos de la celda A1,

lA función texto: los convierte a texto en formato hora y minutos

La función derecha hace lo mismo solo que lee los cinco últimos caracteres,

La función ahora lee la fecha de la computadora e igual es convertida a texto, actualizándose en todo momento.

La función Y hace las comparaciones compara la hora actual con los parámetros de las funciones derecha e izquierda en caso de que la hora actual se encuentre dentro de los parámetros declara verdadero de lo contrario sera falso

lA función si evalúa la respuesta de la función Y, si es verdadero en la celda A2 pondrá el valor de la celda b3, de cado de ser falso colocara 0

Recuerda valor mi respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas