excel - multiple - MÚLTIPLE VLOOKUP o INDEX MATCH
match function excel (1)
Estoy tratando de usar INDEX MATCH para devolver un valor basado en múltiples criterios. Alguien me ha ayudado a llegar a un punto, pero no puedo encontrar una manera de agregar criterios adicionales. La fórmula de la que estoy trabajando en este momento es:
=IFERROR(INDEX(DATA!$H$2:$H$2000,SMALL(IF(DATA!$K$2:$K$2000="Yes",ROW(DATA!$A$2:$A$2000)-ROW(DATA!$A$2)+1,""),ROWS(DATA!$A$2:A2))),"")
Esto devuelve el nombre de una persona de mi lista de datos según la respuesta a un criterio que es "SÍ".
Necesito agregar dos criterios más para devolver menos resultados. Esto se basará en un mes y año, ambos mostrados numéricamente en diferentes celdas, es decir, 10
y 2015
. Solo quiero devolver mi lista de índice cuando los otros valores en la fila son "SÍ", 10
y 2015
.
Esos incrementos y números de fila son innecesariamente complicados si comprende lo que están tratando de hacer.
El ROWS(DATA!$A$2:A2)
simplemente incrementa 1, 2, 3 ... a medida que va llenando. Esto se puede simplificar a ROW(1:1)
. El ROW(DATA!$A$2:$A$2000)-ROW(DATA!$A$2)+1
se puede simplificar a ROW($1:$1999)
siempre que se dé cuenta de que está devolviendo la posición dentro de H2: H2000, no el número de fila real en la hoja de trabajo. Tenga en cuenta que ninguna de las referencias simplificadas utiliza un nombre de hoja de trabajo o una designación de columna. Simplemente no son necesarios.
Además, la función AGREGAR¹ hace un trabajo rápido de condiciones cuando usa la 15 subfunción ( PEQUEÑA ) con la opción 6 (ignorar errores). ¡Al convertir cualquier cosa que no concuerde con un #DIV/0!
error, solo le quedan las filas que coinciden.
Una fórmula estándar para XL2010 y superior:
=IFERROR(INDEX(DATA!$H$2:$H$2000, AGGREGATE(15, 6, ROW($1:$1999)/((DATA!$K$2:$K$2000="Yes")*(DATA!$L$2:$L$2000=10)*(DATA!$M$2:$M$2000=2015)), ROW(1:1))),"")
Una fórmula estándar para XL2007 y anteriores:
=IFERROR(INDEX(DATA!$H$2:$H$2000, SMALL(INDEX(ROW($1:$1999)+((DATA!$K$2:$K$2000<>"Yes")+(DATA!$L$2:$L$2000<>10)+(DATA!$M$2:$M$2000<>2015))*1E+99, , ), ROW(1:1))),"")
¹ La función AGREGAR se introdujo con Excel 2010. No está disponible en versiones anteriores.