INDEX-MATCH con múltiples coincidencias en Excel (6 exemplos)

  • Comparte Isto
Hugh West

Excel ofrece diferentes funcións e formas de obter valores coincidentes. Dependendo da situación, os usuarios poden escoller as súas preferencias. Este titorial mostrarache como obter resultados usando INDEX MATCH con varias coincidencias en Excel.

Primeiro, imos coñecer o libro de traballo de hoxe.

Nas fichas do caderno de hoxe atoparás produtos e a súa relación de prezos. Usando esta relación, veremos algúns exemplos para obter valor con criterios múltiples .

No mundo real pode que necesites manexar conxuntos de datos de varias relacións e establecer criterios diferentes para producir os resultados. Para que sexa sinxelo polo momento, recuperaremos o Prezo dun produto que coincida co nome e o tamaño.

Descargar Caderno de prácticas

Podes descargar o caderno de traballo utilizado para a demostración con todas as fórmulas desde a seguinte ligazón.

INDEX-MATCH con varias coincidencias.xlsx

Conceptos básicos de INDEX-MATCH

Conceptos básicos da función INDEX

A función INDEX devolve un valor ou a referencia a un valor dentro dunha táboa ou rango. Pódese usar para recuperar valores individuais ou filas e columnas enteiras. Vexamos a sintaxe da función INDEX.

INDEX(array/reference, row_number, column_number,area_number)

matriz ou referencia: Unha cela ou rango de celas para mirar

número_fila: Unha fila da matriz desde a que devolver unFILA($B$6:$B$10)) se o valor é verdadeiro. En caso contrario, devolve unha cadea baleira. A parte MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) é a serie de números onde ROW($B$6:$B$10) ) e ROW($B$6:$B$10) coinciden. Este é só un truco útil para limitar o número total de filas nunha sección seleccionada.

👉 Despois diso, 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 o ROWS($A$1:A1) -ésimo valor máis pequeno da saída da parte IF .

👉 Finalmente, INDEX($C$6:$C 10 $, PEQUENO(IF(ISNUMBER(COINCIDIR($B$6:$B$10, $C$12, 0))), MATCH(FILA($B$6:$B$10), FILA($B$6:$B$10)) , “”), ROWS($A$1:A1))) toma a saída da función anterior como número de fila e ROWS($A$1:A1) como número de columna e devolve o valor que está nesta posición no intervalo C6:C10 .

👉 Do mesmo xeito, INDEX('Tenda 2'!$C$6:$C$10, SMALL(IF (ISNUMBER(MATCH('Tenda 2'!$B$6:$B$10, $C$12, 0)), MATCH(ROW('Tenda 2'!$B$6:$B$10), ROW('Tenda 2' !$B$6:$B$10)), “”) fai o mesmo pero dende a segunda folla. Como o nome da folla é “Tenda 2”, engadímolo antes de seleccionar intervalos/celas. Non precisas para engadilos á folla que estás a facer cal culcións sobre. Polo tanto, non fixemos iso para "Tenda 1" na parte anterior da fórmula.

👉 Finalmente, engadimos toda a función nunha función IFERROR . Oo motivo é devolver un espazo en branco no caso de que se produzan erros ao executar a fórmula.

  • Finalmente, prema Intro .

  • Agora, selecciona de novo a cela. A continuación, prema e arrastre a icona do controlador de recheo para algunhas celas cara abaixo (máis da cantidade estimada de cela de saída debería estar ben).

En consecuencia, atoparemos todas as celas. as coincidencias usando o INDEX-MATCH de varias follas de traballo en Excel.

6. INDEX-MATCH para varios criterios sen matriz

Tamén podemos usar o INDEX-MATCH para varias coincidencias ou criterios sen ningún matriz. Por exemplo, tomemos o seguinte conxunto de datos.

Pero necesitamos unha columna auxiliar para conseguilo primeiro. Usaremos a función CONCATENAR ademais das funcións en cuestión. Siga estes pasos para ver a guía completa.

Pasos:

  • Primeiro, seleccione a cela F5 e escriba a seguinte fórmula.

=CONCATENATE(C5,",",D5,",",E5)

  • A continuación, preme Intro .

  • Agora selecciona de novo a cela e fai clic e arrastra a icona do controlador de recheo ata o final da columna para replicar a fórmula para o resto das celas.

  • A continuación, atoparemos o INDEX-MATCH para todos os 100 no conxunto de datos orixinal. Para iso, seleccione unha cela para almacenar o valor ( H5 neste caso).
  • A continuación, insira a seguinte fórmula.

=INDEX(B5:B19,MATCH("100,100,100",F5:F19,0))

🔎 Desglose doFórmula

👉 MATCH(“100,100,100”,F5:F19,0) busca a coincidencia exacta de 100,100,100 no intervalo F5: F19 .

👉 A continuación, INDEX(B5:B19,MATCH(“100,100,100”,F5:F19,0)) devolve o valor na posición na que coincide.

  • Finalmente, prema Intro .

Deste xeito, podemos usar INDEX-MATCH para varios criterios ou coinciden en Excel sen ningunha matriz.

Como devolver varios valores verticalmente usando a fórmula INDEX-MATCH en Excel

No caso de que queira devolver varios valores verticalmente usando INDEX-MATCH, vexamos o seguinte exemplo.

Sigue estes pasos para ver como podemos conseguilo para o conxunto de datos.

Pasos:

  • Primeiro, selecciona a cela F5 .
  • En segundo lugar, escribe a seguinte 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 da fórmula

👉 ROW($B$5:$B$14) devolve unha matriz que contén os números de fila do intervalo B5:B14 .

👉 ROW($B$5:$B$14)-ROW($B$5) +1 devolve a diferenza entre a matriz e o número de fila da cela B5 , que neste caso é só unha matriz de 1 a 10.

👉 IF( $E$5=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1) comproba onde o valor da cela E5 é igual no intervalo B5:B14 e devolve o número da matriz onde é verdadeiro do anteriormatriz.

👉 PEQUENO(SI($E$5=$B$5:$B$14,FILA($B$5:$B$14)-FILA($B$5)+1),FILA (1:1) devolve o número máis pequeno da matriz.

👉 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))) a continuación, devolve o valor nesa posición no intervalo C5:C14 .

👉 Finalmente, IFERROR(ÍNDICE($C$5:$C$14,PEQUENO(SI($E$5=$B$5:$B$14,FILA($B$5): $B$14)-ROW($B$5)+1),ROW(1:1))),””) asegúrate de que se un valor produce un erro na fórmula, devolve unha cadea baleira.

  • En terceiro lugar, prema Intro .

  • A continuación, selecciona de novo a cela. Finalmente, fai clic e arrastra a icona do controlador de recheo cara abaixo para algunhas celas para obter todos os valores.

Deste xeito, podemos devolver varios valores. verticalmente usando o INDEX-MATCH en Excel.

Ler máis: INDEX MATCH con varios criterios nunha folla diferente (2 xeitos)

Conclusión

Isto é todo por hoxe. Tentamos mostrarche un par de formas de INDEX MATCH con multip le partidos. Espero que che resulte útil. Non dubides en comentar se algo parece difícil de entender. Podes notificarnos calquera outro método para a tarefa.

Para obter máis guías como esta, visita Exceldemy.com .

valor

número_columna: A columna da matriz desde a que se devolve un valor

número_área: Selecciona un intervalo de referencia desde o que se devolve o valor. intersección de número_fila e número_columna . Este é un campo opcional.

Mentres escribe a fórmula pode escoller se quere proporcionar número_fila ou número_columna . Se proporciona número_fila , é opcional usar número_columna e viceversa.

Podes consultar o sitio de soporte de Microsoft para obter unha sintaxe máis profunda desglose.

Conceptos básicos da función MATCH

Practicamente, unha función que atoparás con máis frecuencia coa función INDEX é a función MATCH . A función COMPARAR úsase para localizar a posición dun elemento especificado nun intervalo de celas. Devolve a posición relativa dun elemento concreto no intervalo.

A sintaxe da función COINCIDIR é

MATCH(lookup_value, lookup_array, match_type)

valor_busca: O valor para buscar na matriz_busca.

matriz_busca: Un intervalo de celas que se están a buscar.

match_type: Este é un campo opcional. Podes inserir 3 valores.

1 = Menor ou igual a valor_busca

0 = Valor_busca exacto

-1 = Maior ou igual a lookup_value

Para unha comprensión máis profunda, podes consultar o sitio Soporte de Microsoft .

6 Exemplos axeitados de uso de INDEX- Fórmula MATCH conMúltiples coincidencias

Agora poñeremos estas fórmulas e teorías en acción no noso conxunto de datos. Resolvemos diferentes escenarios usando o INDEX-MATCH con varias coincidencias en Excel e incluímosos en diferentes seccións para unha mellor comprensión. Segue para ver como podemos aplicalos en diferentes escenarios ou se prefires un específico, podes atopalo na táboa anterior.

1. COINCIDENCIA ÍNDICE con varios criterios

Para buscar valores con criterios múltiples en primeiro lugar establece os criterios. Por exemplo, se queres recuperar o prezo dunha camisa de tamaño pequeno (no noso caderno de traballo), debes configurar o Nome do produto: camisa e talla: pequeno.

Agora siga estes pasos para ver como podemos usar a fórmula para atopar a coincidencia de índice con estas coincidencias múltiples en Excel.

Pasos:

  • Primeiro, selecciona a cela G6 .
  • A continuación escribe a seguinte fórmula.

=INDEX(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0))

🔎 Desglose da fórmula

INDICE(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5: C15),0))

👉 (G4=B5:B15) e (G5=C5:C15) son ambas condicións e devolven VERDADEIRO ou FALSO segundo as condicións sexan verdadeiras ou non. Numericamente, son 1 ou 0. Polo tanto, a multiplicación devolve 1 onde ambos son verdadeiros.

👉 MATCH(1,(G4=B5:B15)*(G5=C5:C15), 0) devolve a posición onde están as dúas condiciónsverdade. Neste caso, é 1.

👉 INDICE(D5:D15,MATCH(1,(G4=B5:B15)*(G5=C5:C15),0)) devolve o valor na posición que devolveu a parte anterior da fórmula.

  • Finalmente, prema Intro .

Así é como podemos usar o INDEX MATCH para varios criterios ou coincidencias en Excel.

Ler máis: Como combinar varios criterios de diferentes matrices en Excel

2. A COINCIDENCIA DE ÍNDICE con varios criterios pertence a filas e columnas

Nesta sección, discutiremos como realizar unha busca probando dous ou máis criterios en filas e columnas . Pode parecer un pouco complicado e complexo.

Aportamos un pouco de cambio no noso exemplo, agora a nosa táboa está organizada de tal xeito que os valores de tamaño (Pequeno, Grande, M, XL) representan columnas individuais.

Semellante á sección anterior, establece o produto e o tamaño necesario como valores de criterios.

Sigue estes pasos para ver como podemos usar a fórmula para isto. sección.

Pasos:

  • Primeiro, seleccione a cela I6 .
  • A continuación, escriba a seguinte fórmula en iso.

=INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0))

🔎 Desglose da fórmula

👉 MATCH(I4,B5:B7,0) devolve a coincidencia exacta do valor de I4 no intervalo B5:B7 .

👉 ​​Do mesmo xeito, MATCH(I5,C4:F4,0) devolve a coincidencia exacta do valor de I5 no intervalo C4:F4 .

👉 Finalmente, INDEX(C5:F7,MATCH(I4,B5:B7,0),MATCH(I5,C4:F4,0)) toma a saída da primeira función como número de fila e da segunda función como número de columna e devolve o valor que está na posición do intervalo C5:F7 .

  • Despois diso, prema Intro .

Así, podemos usar o INDEX-MATCH con varios criterios pertencentes a filas e columnas.

Ler máis: Coincidencia de índices de Excel con criterios únicos/múltiples con resultados únicos/múltiples

Lecturas similares

  • Coincidencia de índices con 3 Criterios en Excel (4 exemplos)
  • INDEX MATCH en varias follas en Excel (con alternativa)
  • Suma con funcións INDEX-MATCH en varias follas Criterios en Excel
  • Índice de coincidencia Suma de varias filas en Excel (3 formas)
  • Fórmula de coincidencia de índices para atopar o valor mínimo en Excel (4 Formas axeitadas)

3. INDEX-MATCH de columnas non adxacentes

Nesta sección mostrarémosche un exemplo de como obter matchi ng valores usando dúas columnas non adxacentes. Ademais, necesitamos a función IFERROR para este escenario.

Este será o conxunto de datos para a demostración.

Sigue estes pasos para ver como podemos usar o INDEX-MATCH para as columnas non adxacentes (produto e cantidade) deste conxunto de datos.

Pasos:

  • Primeiro, seleccione a cela G6 .
  • A continuación escriba oseguinte fórmula nela.

=IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),"No Value")

🔎 Desglose da fórmula

IFERROR(INDEX(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),” Sen valor”)

👉 MATCH(G5,B4:B7,0) atopa a coincidencia exacta do valor da cela G5 no intervalo B4:B7 .

👉 e MATCH(F6,B4:D4,0) atopa a coincidencia exacta de F6 é o intervalo B4:D4 .

👉 Despois INDICE(B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)) toma o valor da primeira función como número de fila e o segundo valor da función como número de columna e devolve o valor nesa posición no intervalo B4:D7 .

👉 Finalmente, IFERROR(INDEX (B4:D7,MATCH(G5,B4:B7,0),MATCH(F6,B4:D4,0)),"Sen valor") devolve a cadea "Sen valor" se hai un erro ao executar a fórmula. En caso contrario, devolve o valor habitual.

  • A continuación, preme Introducir no teu teclado.

Como Como resultado, podemos atopar a coincidencia desexada usando o INDEX-MATCH de columnas non adxacentes para os criterios seleccionados, incluso para varios, en Excel.

4. INDEX-MATCH de varias táboas

Para atopar as coincidencias de varias táboas podemos usar a fórmula INDEX-MATCH . Xunto a esta función, necesitaremos tamén as funcións SMALL , ISNUMBER , ROW , COUNTIF e IFERROR .

Na folla de exemplo, temos 2 Produtos da tenda. Usando esta ficha, veremos comopara facer a tarefa.

Segue estes pasos para ver como podemos usar a combinación destas funcións xunto co INDEX-MATCH con varias coincidencias deste conxunto de táboas en Excel .

Pasos:

  • Primeiro, selecciona a cela C14 .
  • Agora escribe a seguinte 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 da fórmula

IFERRO(ÍNDICE($C$6:$C$10, PEQUENO(SE(ISNUMBER(COINCIDIR($B$6:$B$10, $C$12, 0))), COINCIDIR( FILA($B$6:$B$10), FILA($B$6:$B$10)), “”), FILAS($A$1:A1))), ÍNDICE($F$6:$F$10, PEQUENA( IF(ISNUMBER(COINCIDIR($E$6:$E$10, $C$12, 0)), MATCH(FILA($E$6:$E$10), FILA($E$6:$E$10)), “”) , FILAS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))))

👉 COINCER ($B$6:$B$10, $C$12, 0) atopa a coincidencia exacta de C12 no intervalo B6:B10 .

👉 ISNUMBER(MATCH($B $6:$B$10, $C$12, 0)) comproba se o valor é un número na 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$1 0)) comproba se a función anterior é un número ou non. Se é así, devolve o valor de saída de MATCH(ROW($B$6:$B$10), ROW($B$6:$B$10)) que é a posición onde se atopa a matriz de filas. os números coinciden na primeira e na segunda funcións FILA . En caso contrario, devolve unha cadea baleira.

👉 SMALL(IF(ISNUMBER(COINCIDENCIA($B$6:$B$10, $C$12, 0))), MATCH(ROW($B$6: $B$10), FILA ($B$6:$B$10)),“”), ROWS($A$1:A1)) devolve o ROWS($A$1:A1) -ésimo valor máis pequeno da matriz.

👉 Finalmente. INDEX($C$6:$C$10, PEQUENO(IF(ISNUMBER(COINCIDENCIA($B$6:$B$10, $C$12, 0))), MATCH(FILA($B$6:$B$10), ROW($B$6:$B$10)), “”), ROWS($A$1:A1)))) devolve o valor nesa posición no intervalo C6:C10 .

👉 ÍNDICE($F$6:$F$10, PEQUENO(IF(ISNUMBER(COINCIDENCIA($E$6:$E$10, $C$12, 0))), COINCIDENCIA(FILA($E$6:) $E$10), ROW($E$6:$E$10)), “”), ROWS($A$1:A1)-COUNTIF($B$6:$B$10, $C$12))) o mesmo, pero a partir da segunda táboa xa que os intervalos son claramente diferentes nesta parte da fórmula.

👉 Finalmente, a función enteira toma a función completa e devolve o INDEX-MATCH combinacións. O impacto da función IFERROR é que se houbese erros ao executar a fórmula non devolvería ningún valor.

  • A continuación, prema Intro .

  • Despois diso, seleccione a cela de novo e prema e arrastre a icona do controlador de recheo cara abaixo para varias celas para atopar o resto dos valores das táboas. Podes arrastrar celas adicionais, Excel deterá os valores cando non haxa máis.

Así é como podemos usar o INDEX-MATCH usando os criterios de varias táboas en Excel.

Ler máis: Múltiples criterios en Excel usando as funcións INDEX, MATCH e COUNTIF

5. INDEX-MATCH de Múltiples follas de traballo

Podemos usar o INDEX-MATCHfórmula en diferentes follas. Aquí temos estas dúas táboas en dúas follas de traballo diferentes.

Folla da tenda 1 para a tenda 1 e a folla da tenda 2 para a tenda 2.

Para producir o resultado todo o que temos que facer é proporcionar o nome da folla antes da Referencia da cela. Siga estes pasos para obter máis información.

Pasos:

  • Primeiro, seleccione a cela C14 da folla "Tenda 1".
  • Entón escribe a seguinte 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 da fórmula

IFERROR(INDEX($C$6:$C$10, SMALL(IF(ISNUMBER(MATCH($B$6:$)) B$10, $C$12, 0)), MATCH(FILA($B$6:$B$10), FILA($B$6:$B$10)), “”), FILAS($A$1:A1))) , INDEX('Tenda 2'!$C$6:$C$10, PEQUENO(IF(ISNUMBER(MATCH('Tenda 2'!$B$6:$B$10, $C$10, 0)), MATCH(ROW(' Compra 2'!$B$6:$B$10), ROW('Compra 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 a coincidencia exacta do valor da cela C12 no intervalo B6:B10 .

👉 ISNUMBER(COINCIDENCIA($B$6:$B$10, $C$12, 0) ) comproba se a saída da función anterior é un número ou non. O que determina se houbo un partido ou non. Isto é só para converter o valor do número nun booleano.

👉 Despois IF(ISNUMBER(MATCH($B$6:$B$10, $C$12, 0)), MATCH(ROW($) B$6:$B$10), ROW($B$6:$B$10)), “”) comproba o valor booleano e devolve MATCH(ROW($B$6:$B$10),

Hugh West é un adestrador e analista de Excel altamente experimentado con máis de 10 anos de experiencia na industria. É Licenciado en Contabilidade e Finanzas e Máster en Administración de Empresas. Hugh ten unha paixón polo ensino e desenvolveu un enfoque docente único que é fácil de seguir e comprender. O seu coñecemento experto de Excel axudou a miles de estudantes e profesionais de todo o mundo a mellorar as súas habilidades e a destacar nas súas carreiras. A través do seu blog, Hugh comparte os seus coñecementos co mundo, ofrecendo titoriais de Excel gratuítos e formación en liña para axudar ás persoas e ás empresas a alcanzar todo o seu potencial.