Jump to content
yameregistre

Búsqueda de fecha en un rango de fechas, para 2da, 3ra , etc coincidencias

Recommended Posts

Buenas con todos, a ver si me podrían ayudar con este problema

 

Tengo en una tabla las fechas en las que algunos empleados pidieron vacaciones

Son tres columnas: Empleado, Fecha Inicio, Fecha Fin

Todo inicia en A1

A                      B                    C

Empleado Inicio Fin
X002 01/07/2017 02/07/2017
X003 01/07/2017 01/07/2017
X003 03/07/2017 04/07/2017
X005 04/07/2017 04/07/2017

 

Y en otra tabla, tengo las marcaciones de asistencia diaria de los empleados

Esta Tabla inicia en H1

H                        I

Empleado Fecha Marc
X001 01/07/2017
X002 01/07/2017
X003 01/07/2017
X004 01/07/2017
X005 01/07/2017
X001 02/07/2017
X002 02/07/2017
X003 02/07/2017
X004 02/07/2017
X005 02/07/2017
X001 03/07/2017
X002 03/07/2017
X003 03/07/2017
X004 03/07/2017
X005 03/07/2017
X001 04/07/2017
X002 04/07/2017
X003 04/07/2017
X004 04/07/2017
X005 04/07/2017

 

Se supone que si un empleado pidió vacaciones en determinados días, esos días no deberían asistir a trabajar

Pero sucede que algunos lo hacen, y eso es lo que se desea detectar

En el ejemplo, el empleado X003 asistió cuatro días:

1/7/2017
2/7/2017
3/7/2017
4/7/2017

De los cuales no debió asistir a trabajar tres días, el 1/7/2017, 3/7/2017, 4/7/2017 ya que los pidió como vacaciones

 

Hice una columna auxiliar en J, con esta fórmula a partir de J2

=SI.ERROR(SI(Y(H2=BUSCARV(H2,$A$2:$C$5,1,0), I2>=BUSCARV(H2,$A$2:$C$5,2,0), I2<=BUSCARV(H2,$A$2:$C$5,3,0)), "x", ""), "")

La cual funciona bien para encontrar la primera fecha que no debió asistir a trabajar un determinado empleado, pero no detecta las siguientes fechas en las cuales no debió asistir

 

Me gustaría poder detectar no sólo la primera asistencia que no cumpla, sino también las siguientes, para determinado empleado

 

Saludos!

 

BuscarV 2do, 3er criterios.xlsx

Share this post


Link to post
Share on other sites

Hola, gracias por responder

La fórmula no da el resultado correcto para el registro

X002 04/07/2017   V

 

ya que le marca la V cuando en realidad no debería marcarle nada ya que las vacaciones del empleado X002 son del 1/07 al 2/07

Probé modificando tu fórmula matricial

=SI.ERROR(BUSCARV(I2,SI($A$1:$A$5=H2,$B$1:$D$5),3,1),"")

por

=SI.ERROR(BUSCARV(I2,SI($A$1:$A$5=H2,$B$1:$D$5),3,0),"")

 

Es decir, cambiando el 1 por 0 para que de una coincidencia exacta, pero tampoco funciona correctamente

 

Saludos

 

Share this post


Link to post
Share on other sites
Hace 14 minutos , Jamel dijo:

Corrección: te adjunto el nuevo

BuscarV 2do, 3er criterios (1).xlsx

Hola,  funciona muy bien

Una duda adicional

En lugar de que muestre una X como resultado

 

Podría hacerse para que muestre la Fecha Fin en lugar de la x?

Por ejemplo, con tu fórmula sale:

X002 01/07/2017        X

 

Lo que se desea es que salga

X002 01/07/2017     02/07/2017

 

Saludos y gracias nuevamente

Share this post


Link to post
Share on other sites

¡Hola, a ambos!

Otras opciones, incluyendo tu nuevo requerimiento, podrían ser:

=SI.ERROR(1/(1/SUMAPRODUCTO((A$2:A$5=H2)*(I2>=B$2:B$5)*(I2<=C$2:C$5)*C$2:C$5));"")
=SI.ERROR(1/(1/SUMAR.SI.CONJUNTO(C$2:C$5;A$2:A$5;H2;B$2:B$5;"<="&I2;C$2:C$5;">="&I2));"")

Mi separador de argumentos es ";".  Si no es el tuyo, cámbialo por "," o por el que maneje tu sistema. ¡Bendiciones!

Share this post


Link to post
Share on other sites

Reemplaza la formula:

=SI.ERROR(SI(Y(BUSCARV(I2,SI($A$1:$A$5=H2,$B$1:$C$5),1,1)<=I2,BUSCARV(I2,SI($A$1:$A$5=H2,$B$1:$C$5),2,1)>=I2),BUSCARV(I2,SI($A$1:$A$5=H2,$B$1:$C$5),2,1),""),"")

No olvides de darle F2 Y al final ctrl+shift+enter 

a cada una de la celda

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png