Tabla de contenido
Excel proporciona diferentes funciones y formas de obtener valores coincidentes. Dependiendo de la situación, los usuarios pueden elegir sus preferencias. Este tutorial le mostrará cómo obtener resultados utilizando INDEX MATCH con múltiples coincidencias en Excel.
Lo primero es lo primero: conozcamos el cuaderno de hoy.
En las hojas del cuaderno de hoy encontrarás productos y su relación de precios. Utilizando esta relación veremos algunos ejemplos para obtener valor con criterios múltiples .
En el mundo real puede que necesite manejar conjuntos de datos de varias relaciones y establecer diferentes criterios para producir los resultados. Para mantenerlo simple por el momento, recuperaremos el Precio de un Producto que coincida con el nombre y el tamaño.
Descargar el cuaderno de prácticas
Puede descargar el libro de trabajo utilizado para la demostración con todas las fórmulas desde el siguiente enlace.
INDEX-MATCH con múltiples coincidencias.xlsx
Conceptos básicos de INDEX-MATCH
Conceptos básicos de la función INDEX
La función INDEX devuelve un valor o la referencia a un valor dentro de una tabla o rango. Se puede utilizar para recuperar valores individuales o filas y columnas enteras. Veamos la sintaxis de la función INDEX.
INDEX(matriz/referencia, número_fila, número_columna,número_área)
o referencia: Una celda o rango de celdas a examinar
número_de_fila: Una fila de la matriz de la que devolver un valor
número_columna: La columna de la matriz de la que devolver un valor
número_de_zona: Selecciona un rango en referencia a partir del cual devolver la intersección de número_de_fila y columna_num Este campo es opcional.
Al escribir la fórmula puede elegir si desea proporcionar número_de_fila o número_columna Si proporciona número_de_fila entonces es opcional utilizar número_columna y viceversa.
Puede consultar la Soporte técnico de Microsoft para un desglose más detallado de la sintaxis.
Conceptos básicos de la función MATCH
Prácticamente, una función que encontrará más a menudo con el ÍNDICE es la función la función MATCH . MATCH se utiliza para localizar la posición de un elemento especificado en un rango de celdas. Devuelve la posición relativa de un elemento concreto en el rango.
Sintaxis del MATCH es la función
MATCH(valor_consulta, matriz_consulta, tipo_coincidencia)
buscar_valor: El valor a buscar en el lookup_array.
lookup_array: Un rango de celdas que se están buscando.
match_type: Se trata de un campo opcional. Puede insertar 3 valores.
1 = Menor o igual que lookup_value
0 = Valor_buscado_exacto
-1 = Mayor o igual que lookup_value
Para una comprensión más profunda, puede consultar el Soporte técnico de Microsoft sitio.
6 Ejemplos adecuados de utilización de la fórmula INDEX-MATCH con coincidencias múltiples
Ahora vamos a poner en práctica estas fórmulas y teorías en nuestro conjunto de datos. Hemos resuelto diferentes escenarios utilizando la función INDEX-MATCH con múltiples coincidencias en Excel y las he incluido en diferentes apartados para una mejor comprensión. Sigue a continuación para ver cómo podemos aplicarlas en diferentes escenarios o si prefieres alguna en concreto, puedes encontrarla en la tabla superior.
1. INDEX-MATCH con criterios múltiples
Para obtener valores con criterios múltiples En primer lugar, establezca los criterios. Por ejemplo, si desea recuperar el precio de una camisa de talla pequeña (en nuestro libro de trabajo), debe establecer el Nombre del producto - Camisa y Talla - Pequeña.
Ahora siga estos pasos para ver cómo podemos utilizar la fórmula para encontrar la coincidencia de índice con estas coincidencias múltiples en Excel.
Pasos:
- En primer lugar, seleccione la celda G6 .
- A continuación, escribe la siguiente fórmula.
=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))
🔎 Desglose de la fórmula
INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))
👉
(G4=B5:B15) y (G5=C5:C15) son ambas condiciones y devuelven TRUE o FALSO dependiendo de si las condiciones son verdaderas o no. Numéricamente, son 1 o 0. Así que la multiplicación devuelve 1 cuando ambas son verdaderas.
👉
MATCH(1,(G4=B5:B15)*(G5=C5:C15),0) devuelve la posición en la que ambas condiciones son verdaderas. En este caso, es 1.
👉
INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) devuelve el valor en la posición que devolvía la parte anterior de la fórmula.
- Por último, pulse Entre en .
Así es como podemos utilizar el INDEX MATCH para múltiples criterios o coincidencias en Excel.
Más información: Cómo Hacer Coincidir Múltiples Criterios de Diferentes Matrices en Excel
2. INDEX-MATCH con Criterios Múltiples Pertenece a Filas y Columnas
En esta sección, veremos cómo realizar una búsqueda comprobando dos o más criterios en filas y columnas Puede parecer un poco difícil y complejo.
Introducimos un pequeño cambio en nuestro ejemplo, nuestra tabla está ahora dispuesta de tal forma que los valores de Talla (Pequeña, Grande, M, XL) representan columnas individuales.
De forma similar a la sección anterior, establezca el producto y el tamaño requerido como valores de los criterios.
Sigue estos pasos para ver cómo podemos utilizar la fórmula para esta sección.
Pasos:
- En primer lugar, seleccione la celda I6 .
- A continuación, escribe en él la siguiente fórmula.
=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))
🔎 Desglose de la fórmula
👉
MATCH(I4,B5:B7,0) devuelve la coincidencia exacta del valor de I4 en la gama B5:B7 .
👉
Del mismo modo, MATCH(I5,C4:F4,0) devuelve la coincidencia exacta del valor de I5 en la gama C4:F4 .
👉
Por fin, INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) toma la salida de la primera función como número de fila y la segunda función como número de columna y devuelve el valor que se encuentra en la posición del rango C5:F7 .
- A continuación, pulse Entre en .
Así, podemos utilizar el INDEX-MATCH con múltiples criterios pertenecientes a filas y columnas.
Más información: Índice Excel Emparejar criterios únicos/múltiples con resultados únicos/múltiples
Lecturas similares
- INDEX MATCH con 3 Criterios en Excel (4 Ejemplos)
- INDEX MATCH a través de Múltiples Hojas en Excel (Con Alternativa)
- Suma con Funciones INDEX-MATCH bajo Múltiples Criterios en Excel
- Indexar la Suma de Varias Filas en Excel (3 Formas)
- Fórmula INDEX-MATCH para Encontrar el Valor Mínimo en Excel (4 Formas Adecuadas)
3. INDEX-MATCH a partir de columnas no adyacentes
En esta sección, le mostraremos un ejemplo de cómo obtener valores coincidentes utilizando dos columnas no adyacentes. Además, necesitamos la función IFERROR para este escenario.
Este será el conjunto de datos para la demostración.
Siga estos pasos para ver cómo podemos utilizar la función INDEX-MATCH para las columnas no adyacentes (producto e importe) en este conjunto de datos.
Pasos:
- En primer lugar, seleccione la celda G6 .
- A continuación, escribe en él la siguiente fórmula.
=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Sin valor")
🔎 Desglose de la fórmula
IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Sin valor")
👉
MATCH(G5,B4:B7,0) encuentra la coincidencia exacta del valor de la celda G5 en la gama B4:B7 .
👉
y MATCH(F6,B4:D4,0) encuentra la coincidencia exacta de F6 es la gama B4:D4 .
👉
Entonces INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) toma el primer valor de la función como número de fila y el segundo valor de la función como número de columna y devuelve el valor en esa posición en el rango B4:D7 .
👉
Por fin, IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)), "Sin valor") devuelve la cadena "Sin valor" si se produce un error al ejecutar la fórmula. En caso contrario, devuelve el valor habitual.
- A continuación, pulse Entre en en el teclado.
Como resultado, podemos encontrar la coincidencia deseada utilizando el INDEX-MATCH a partir de columnas no adyacentes para criterios seleccionados, incluso para múltiples, en Excel.
4. INDEX-MATCH a partir de varias tablas
Para encontrar las coincidencias de varias tablas podemos utilizar la función INDEX-MATCH Junto a esta función, necesitaremos PEQUEÑO , NÚMERO , FILA , CONSEJO y IFERROR funciones también.
En la hoja de ejemplo, tenemos 2 Productos de la tienda. Utilizando esta hoja, veremos cómo realizar la tarea.
Siga estos pasos para ver cómo podemos utilizar la combinación de estas funciones junto con el INDEX-MATCH con múltiples coincidencias de este conjunto de tablas en Excel.
Pasos:
- En primer lugar, seleccione la celda C14 .
- Ahora escribe la siguiente fórmula.
=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
🔎 Desglose de la fórmula
IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
👉
MATCH($B$6:$B$10, $C$12, 0) encuentra la coincidencia exacta de C12 en la gama B6:B10 .
👉
ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) comprueba si el valor es un número en la función.
👉
IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") ROW($B$6:$B$10)) comprueba si la función anterior es un número o no. Si lo es, devuelve el valor de salida de MATCH(FILA($B$6:$B$10), FILA($B$6:$B$10)) que es la posición en la que coinciden la matriz de números de fila en la primera y la segunda FILA En caso contrario, devuelve una cadena vacía.
👉
SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) devuelve el FILAS($A$1:A1) -ésimo valor más pequeño de la matriz.
👉
Por fin. INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) devuelve el valor en esa posición del rango C6:C10 .
👉
INDEX($F$6:$F$10, SMALL(IF(ISNUMBER(MATCH($E$6:$E$10, $C$12, 0)), MATCH(ROW($E$6:$E$10), ROW($E$6:$E$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))) hace lo mismo, pero a partir de la segunda tabla, ya que los rangos son claramente diferentes en esta parte de la fórmula.
👉
Por último, la función entera toma la función entera y devuelve el INDEX-MATCH El impacto de la IFERROR es que si hubiera errores al ejecutar la fórmula no devolvería ningún valor.
- A continuación, pulse Entre en .
- Después de eso, seleccione la celda de nuevo y haga clic y arrastre el icono de asa de relleno hacia abajo para múltiples celdas para encontrar el resto de los valores de las tablas. Puede arrastrar celdas adicionales, Excel detendrá los valores cuando no haya más de ellos.
Así es como podemos utilizar el INDEX-MATCH utilizando criterios de múltiples tablas en Excel.
Más información: Criterios Múltiples en Excel Usando las Funciones INDEX, MATCH y COUNTIF
5. INDEX-MATCH a partir de varias hojas de cálculo
Podemos utilizar la fórmula INDEX-MATCH sobre diferentes hojas. Aquí tenemos estas dos tablas sobre dos hojas de cálculo diferentes.
Hoja Shop 1 para Shop 1 y hoja Shop 2 para Shop 2.
Para obtener el resultado, basta con indicar el nombre de la hoja antes de la referencia de la celda. Siga estos pasos para obtener más detalles.
Pasos:
- En primer lugar, seleccione la celda C14 de la hoja "Tienda 1".
- A continuación, escribe la siguiente fórmula.
=IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1))), INDEX('Shop 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Shop 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Shop 2'!$B$6:$B$10), ROW('Shop 2'!$B$6:$B$10)), ""), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
🔎 Desglose de la fórmula
IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1))), INDEX(‘Shop 2’!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH(‘Shop 2’!$B$6:$B$10, $C$12, 0)), MATCH(ROW(‘Shop 2’!$B$6:$B$10), ROW(‘Shop 2’!$B$6:$B$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))
👉
MATCH($B$6:$B$10, $C$12, 0) busca la coincidencia exacta del valor de la celda C12 en la gama B6:B10 .
👉
ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)) comprueba si la salida de la función anterior es un número o no. Lo que determina si hubo coincidencia o no. Esto es sólo para convertir el valor numérico en un booleano.
👉
Entonces IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), "") comprueba el valor booleano y devuelve MATCH(FILA($B$6:$B$10), FILA($B$6:$B$10)) si el valor es verdadero. En caso contrario, devuelve una cadena vacía. La función MATCH(FILA($B$6:$B$10), FILA($B$6:$B$10)) es la serie de números donde FILA($B$6:$B$10) y FILA($B$6:$B$10) Esto es sólo un truco práctico para limitar el número total de filas en una sección seleccionada.
👉
Después de eso, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1) busca el FILAS($A$1:A1) -ésimo valor más pequeño de la salida del SI porción.
👉
Por fin, INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)), ""), ROWS($A$1:A1)) toma la salida de la función anterior como número de fila y FILAS($A$1:A1) como el número de columna y devuelve el valor que se encuentra en esta posición en el rango C6:C10 .
👉
Del mismo modo, INDEX('Tienda 2'!$C$6:$C$10, SMALL(IF(ISNUMBER(MATCH('Tienda 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Tienda 2'!$B$6:$B$10), ROW('Tienda 2'!$B$6:$B$10)), "") hace lo mismo pero desde la segunda hoja. Como el nombre de la hoja es "Tienda 2", lo hemos añadido antes de seleccionar los rangos/celdas. No es necesario añadirlos a la hoja en la que se están haciendo los cálculos. Así que no lo hemos hecho para "Tienda 1" en la parte anterior de la fórmula.
👉
Por último, hemos añadido toda la función en un archivo IFERROR El motivo es devolver un espacio en blanco en caso de que se produzcan errores al ejecutar la fórmula.
- Por último, pulse Entre en .
- Ahora, seleccione la celda de nuevo. A continuación, haga clic y arrastre el icono de asa de relleno de algunas celdas hacia abajo (más de la cantidad estimada de celda de salida debería estar bien).
En consecuencia, encontraremos todas las coincidencias utilizando el INDEX-MATCH a partir de varias hojas de cálculo en Excel.
6. INDEX-MATCH para criterios múltiples sin matriz
También podemos utilizar el INDEX-MATCH para múltiples coincidencias o criterios sin ninguna matriz. Por ejemplo, tomemos el siguiente conjunto de datos.
Pero primero necesitamos una columna de ayuda para conseguirlo. Utilizaremos la función CONCATENAR Siga estos pasos para obtener la guía completa.
Pasos:
- En primer lugar, seleccione la celda F5 y escribe la siguiente fórmula.
=CONCATENAR(C5,",",D5,",",E5)
- A continuación, pulse Entre en .
- Ahora selecciona de nuevo la celda y haz clic y arrastra el icono del tirador de relleno hasta el final de la columna para replicar la fórmula en el resto de las celdas.
- A continuación, encontraremos el INDEX-MATCH para todos los 100 del conjunto de datos original. Para ello, seleccione una celda para almacenar el valor ( H5 en este caso).
- A continuación, introduce la siguiente fórmula.
=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))
🔎 Desglose de la fórmula
👉 MATCH(“100,100,100”,F5:F19,0) busca la coincidencia exacta de 100,100,100 en la gama F5:F19 .
👉 Entonces INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) devuelve el valor en la posición en la que coincide el valor.
- Por último, pulse Entre en .
De esta forma, podemos utilizar INDEX-MATCH para múltiples criterios o coincidencias en Excel sin ningún array.
Cómo Devolver Múltiples Valores Verticalmente Usando la Fórmula INDEX-MATCH en Excel
En caso de que desee devolver varios valores verticalmente utilizando INDEX-MATCH, veamos el siguiente ejemplo.
Siga estos pasos para ver cómo podemos conseguirlo para el conjunto de datos.
Pasos:
- En primer lugar, seleccione la celda F5 .
- En segundo lugar, escribe la siguiente fórmula.
=IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1),ROW(1:1))),"")
🔎 Desglose de la fórmula
👉
FILA($B$5:$B$14) devuelve una matriz que contiene los números de fila del rango B5:B14 .
👉
FILA($B$5:$B$14)-FILA($B$5)+1 devuelve la diferencia entre la matriz y el número de fila de la celda B5 que en este caso es una matriz de 1 a 10.
👉
IF($E$5=$B$5:$B$14,FILA($B$5:$B$14)-FILA($B$5)+1) comprueba dónde está el valor de la celda E5 es igual en el intervalo B5:B14 y devuelve el número de la matriz donde es verdadero de la matriz anterior.
👉
SMALL(IF($E$5=$B$5:$B$14,FILA($B$5:$B$14)-FILA($B$5)+1),FILA(1:1) devuelve el número más pequeño de la matriz.
👉
INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,FILA($B$5:$B$14)-FILA($B$5)+1),FILA(1:1))) entonces devuelve el valor en esa posición en el rango C5:C14 .
👉
Por fin, IFERROR(INDEX($C$5:$C$14,SMALL(IF($E$5=$B$5:$B$14,FILA($B$5:$B$14)-FILA($B$5)+1),FILA(1:1))),"") se asegura de que si un valor da lugar a un error en la fórmula, devuelve una cadena vacía.
- Tercero, pulse Entre en .
- A continuación, vuelva a seleccionar la celda. Por último, haga clic y arrastre el icono del tirador de relleno hacia abajo en algunas celdas para obtener todos los valores.
De esta forma podemos devolver múltiples valores verticalmente usando el INDEX-MATCH en Excel.
Más información: INDEX MATCH con Criterios Múltiples en una Hoja Diferente (2 Formas)
Conclusión
Eso es todo por hoy. Hemos tratado de mostrarte un par de maneras de INDEX MATCH con múltiples coincidencias. Esperamos que esto te resulte útil. No dudes en comentar si algo te parece difícil de entender. Eres bienvenido a notificarnos de cualquier otro método para la tarea.
Para más guías como ésta, visite Exceldemy.com .