BUSCARV condicional basada en fechas

BUSCARV condicional basada en fechas

Tengo dos tablas que quiero fusionar en Excel:

Fecha Correo electrónico
2019-07-07 06:49:10 correo1
2019-07-14 20:21:16 correo2
2019-06-23 18:22:40 correo3
2019-08-11 13:17:54 correo4

Y

Fecha Correo electrónico Número de artículo
04/02/2019 15:11 correo1 número 1
08/08/2019 20:21 correo1 Numero 5
06/05/2019 16:30 correo2 número 1
09/07/2019 13:00 correo2 número 2
09/08/2019 12:43 correo2 Numero 3
05/05/2019 18:13 correo3 número 7
28/06/2019 09:00 correo4 número 6

Quiero fusionar estas tablas en el correo electrónico. Para 'mail3' y 'mail4', esto debería ser bastante sencillo, obtienen el número 7 y el número 6. Sin embargo, para 'mail1' y 'mail2', esto es más difícil. Quiero fusionarlos comparando las fechas, para que obtengan el número de artículo relacionado con la fecha más cercana peroantesla fecha en la tabla 1. Intenté la BUSCARV normal para fusionar el correo electrónico, pero realmente no puedo entender si es posible hacerlo de forma condicional. por favor déjeme saber si usted necesita mas información. Gracias.

Respuesta1

Creo que deberías optar por INDEXy MATCHjunto con AGGREGATE. ¡Este combo es siempre al menos tan rápido VLOOKUPy, en el mejor de los casos, MUCHO más rápido!

Así que aquí hay un ejemplo:

ingrese la descripción de la imagen aquí

Fórmula en C2:

=INDEX($G$2:$G$8,MATCH(AGGREGATE(14,3,($F$2:$F$8=B2)*($E$2:$E$8<A2)*($E$2:$E$8),1),$E$2:$E$8,0))

Arrastre hacia abajo...


Para responder a las inquietudes de @Rajesh a continuación, esto funciona en cualquier fila siempre que actualice las referencias en consecuencia, fila 1, 100, 1000, 100000. No importa. No olvide utilizar valores de fecha verdaderos y TRIMlos datos de muestra proporcionados por OP:

ingrese la descripción de la imagen aquí

Fórmula en C182:

=INDEX($G$182:$G$188,MATCH(AGGREGATE(14,3,($F$182:$F$188=B182)*($E$182:$E$188<A182)*($E$182:$E$188),1),$E$182:$E$188,0))

Respuesta2

Esta fórmula de matriz simple (CSE) encuentra la coincidencia más cercana para la fecha y soluciona el problema:

ingrese la descripción de la imagen aquí

Fórmula editada en el segundo trimestre:

{=IF(ISBLANK(O2),"",IFERROR(INDEX($U$2:$U$9,MATCH(1,(P2=$T$2:$T$9)*(O2>=S$2:S$9),1)),""))}
  • Termina la fórmula conCtrl+Mayús+Entrary llenarlo.

NÓTESE BIEN

  • La coincidencia en el armario es una cuestión discrecional, puede serGreater/Less than or Equals to the Criteria Date.

  • Entonces, en consecuencia, el operador de comparación puede modificarse en esta parte de la fórmula con (O2>=S$2:S$9).

Ajuste las referencias de celda en la fórmula según sea necesario.

información relacionada