Fórmula de Excel: INDICE y COINCIDIR con múltiples criterios -

Tabla de contenido

Fórmula genérica

(=INDEX(range1,MATCH(1,(A1=range2)*(B1=range3)*(C1=range4),0)))

Resumen

Para buscar valores con INDICE y COINCIDIR, utilizando varios criterios, puede utilizar una fórmula de matriz. En el ejemplo que se muestra, la fórmula en H8 es:

(=INDEX(E5:E11,MATCH(1,(H5=B5:B11)*(H6=C5:C11)*(H7=D5:D11),0)))

Nota: esta es una fórmula de matriz y debe ingresarse con control + shift + enter, excepto en Excel 365.

Explicación

Esta es una fórmula más avanzada. Para conocer los conceptos básicos, consulte Cómo usar INDICE y COINCIDIR.

Normalmente, una fórmula de COINCIDENCIA DE ÍNDICE se configura con COINCIDIR configurado para mirar a través de un rango de una columna y proporcionar una coincidencia basada en criterios dados. Sin concatenar valores en una columna auxiliar, o en la propia fórmula, no hay forma de proporcionar más de un criterio.

Esta fórmula soluciona esta limitación mediante el uso de lógica booleana para crear una matriz de unos y ceros para representar filas que coinciden con los 3 criterios, luego usa MATCH para hacer coincidir el primer 1 encontrado. La matriz temporal de unos y ceros se genera con este fragmento:

(H5=B5:B11)*(H6=C5:C11)*(H7=D5:D11)

Aquí comparamos el artículo en H5 con todos los artículos, el tamaño en H6 con todos los tamaños y el color en H7 con todos los colores. El resultado inicial son tres matrices de resultados VERDADERO / FALSO como este:

(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE)*(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)*(TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE)

Consejo: utilice F9 para ver estos resultados. Simplemente seleccione una expresión en la barra de fórmulas y presione F9.

La operación matemática (multiplicación) transforma los valores VERDADERO FALSO en 1 y 0:

(1;1;1;0;0;0;1)*(0;0;1;0;0;1;0)*(1;0;1;0;0;0;1)

Después de la multiplicación, tenemos una única matriz como esta:

(0;0;1;0;0;0;0)

que se alimenta a la función COINCIDIR como la matriz de búsqueda, con un valor de búsqueda de 1:

MATCH(1,(0;0;1;0;0;0;0))

En este punto, la fórmula es una fórmula estándar de COINCIDIR ÍNDICE. La función COINCIDIR devuelve 3 a ÍNDICE:

=INDEX(E5:E11,3)

e INDEX devuelve un resultado final de $ 17,00.

Visualización de matrices

Las matrices explicadas anteriormente pueden ser difíciles de visualizar. La siguiente imagen muestra la idea básica. Las columnas B, C y D corresponden a los datos del ejemplo. La columna F se crea al multiplicar las tres columnas. Es la matriz entregada a MATCH.

Versión sin matriz

Es posible agregar otro ÍNDICE a esta fórmula, evitando la necesidad de ingresar como una fórmula de matriz con control + shift + enter:

=INDEX(rng1,MATCH(1,INDEX((A1=rng2)*(B1=rng3)*(C1=rng4),0,1),0))

La función INDICE puede manejar matrices de forma nativa, por lo que el segundo INDICE se agrega solo para "capturar" la matriz creada con la operación lógica booleana y devolver la misma matriz nuevamente a MATCH. Para hacer esto, INDICE se configura con cero filas y una columna. El truco de la fila cero hace que INDEX devuelva la columna 1 de la matriz (que de todos modos ya es una columna).

¿Por qué querrías la versión sin matriz? A veces, las personas olvidan ingresar una fórmula de matriz con control + shift + enter, y la fórmula devuelve un resultado incorrecto. Entonces, una fórmula sin matriz es más "a prueba de balas". Sin embargo, la compensación es una fórmula más compleja.

Nota: En Excel 365, no es necesario ingresar fórmulas de matriz de una manera especial.

Articulos interesantes...