Ayuda con formula

Tengo la siguiente formula:

=SI(Y(INDIRECTO("hoja1!A" & COINCIDIR(Hoja2!C1,Hoja1!B:B,0))>=A1,INDIRECTO("hoja1!A" &
COINCIDIR(Hoja2!C1,Hoja1!B:B,0))<=B1),"Si","No")

lo que hace es lo descrito abajo, el problema que tengo es que si hay mas un dato para comparar se queda en el primero y no verifica los demás. Ya pensé y trate de mas formas de hacerlo, pero no encuentro la manera que verifique los demás fatos que encuentre. Creo si no estoy mal que puede salir con una macro, pero no se como.

Gracias.

Tengo dos hojas de Excel,
Hoja 1 tengo los valores siguientes
Columna A Columna B
3:00 Luis
18:00 Carlos
15:00 Luis
24:00 Mario
00:00 Luis
07:00 Octavio


Hoja 2 en las columnas A, B y C tengo los valores abajo.
Columna A Columna B Columna C
1:00 5:00 Luis
3:00 8:00 Carlos
15:00 20:00 Juan
1:00 2:00 Luis
18:00 22:00 Ramón
14:00 17:00 Luis


En la columna D de la hoja 2 quiero coloque el resultado de lo siguiente
De la hoja 2 tome el valor de C1 que es Luis, este valor lo busque en la columna B de la hoja 1, si encuentra ese valor, tome el valor que haya en la columna A de la fila en donde encontró el valor, que en el primer caso sería 3:00 luego compruebe si este valor se encuentra entre el rango de las columnas A y B de la hoja 2, si está en ese rango me
coloque si y si no está coloque no.

2 Respuestas

Respuesta
2

En verdad necesito ayuda con esta fórmula.

No se porque se bloqueo y no puedo contestar abajo del comentario del experto Dante amor, pero si eso es lo que necesito.

Respuesta
1

En tu ejemplo en la hoja2 en el registro 1 tienes a "Luis". En la hoja1 tienes 3 registros con el nombre "Luis", quieres que la macro busque si alguno de esos 3 valores (3:00, 15:00 y 00:¿00) y si alguno de los valores está dentro del rango que te ponga "si"?

Después tienes otro "Luis" quieres que nuevamente se comparen los 3 luises de la hoja1 para saber si alguno de ellos está dentro del rango?

Esta es la macro:

Sub buscarhora()
'Por.DAM
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")
For i = 1 To h2.Range("A" & Rows.Count).End(xlUp).Row
    Set b = h1.Columns("B").Find(Cells(i, "C"))
    If Not b Is Nothing Then
        ncell = b.Address
        Do
            If h2.Cells(i, "A") <= h1.Cells(b.Row, "A") And _
               h2.Cells(i, "B") >= h1.Cells(b.Row, "A") Then
                h2.Cells(i, "D") = "si"
            End If
            Set b = h1.Columns("B").FindNext(b)
        Loop While Not b Is Nothing And b.Address <> ncell
    End If
    If h2.Cells(i, "D") = "" Then h2.Cells(i, "D") = "no"
Next
End Sub

Ejecuta la macro y en la columna D te pondrá el resultado.

Si te funciona la solución, revisa la valoración de la respuesta.

Dante mil gracias por responder ya hago pruebas y te confirmo.

Gracias!!

Dante la macro funciona y es lo que buscaba! Gracias! Ya cambie la valoración, pero no se si esto basta o hay que hacer algo más ya que la página cambio.

Gracias!

Dante disculpa tengo una pregunta esta macro funcionaria de igual forma si en lugar de buscar un texto buscara un numero. Esto por si en caso a cada persona la identificáramos por un numero.

Gracias!

Dante a mi consulta anterior ya hice pruebas y si funciona, ahora lo único es que espacios en blanco también los busca, como hacer para que los espacios en blanco los omita.

Gracias.

Prueba con esta macro para omitir blancos

Sub buscarhora()
'Por.DAM
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")
For i = 1 To h2.Range("A" & Rows.Count).End(xlUp).Row
    If h2.Cells(i, "A") <> "" Then
        Set b = h1.Columns("B").Find(Cells(i, "C"))
        If Not b Is Nothing Then
            ncell = b.Address
            Do
                If h2.Cells(i, "A") <= h1.Cells(b.Row, "A") And _
                   h2.Cells(i, "B") >= h1.Cells(b.Row, "A") Then
                    h2.Cells(i, "D") = "si"
                End If
                Set b = h1.Columns("B").FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
        End If
        If h2.Cells(i, "D") = "" Then h2.Cells(i, "D") = "no"
    End If
Next
End Sub

¡Gracias!  voy a probar y te respondo.!

Dante ya hice pruebas y la macro sigue tomando los espacios en blanco, ademas me gustaria preguntarte si es posible que cuando la celda "C" de la hoja 2

Lo siento le die enviar al comentario anterior, pero esta incompleto.

La consulta es: es posible que cuando alguna celda de columna "C" de la hoja 2 que es el valor a buscar, este en blanco en la columna "D", también se quede en blanco.

Gracias!

Dante buena tarde, fijate que revise la macro y le hice un cambio, con el cual ya no hace busqueda de blancos y deja en blanco la celda de "D".

Solo tengo una consulta mas ya con la calificación que di anteiormente queda finalizada o tengo que puntear y finalizar de otra forma.

Gracias!!!

Así está bien.

¡Gracias! 

Con gusto. Cualquier duda avísame. Si necesitas algo más crea una nueva pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas