Como usar a fórmula INDEX-MATCH en Excel para xerar varios resultados

  • Comparte Isto
Hugh West

Ao traballar con un gran número de datos leva a producir varios resultados. En Excel, hai un xeito moi cómodo de extraer varios resultados. Neste artigo, mostrarémosche como usar a INDEX-MATCH fórmula en Excel para xerar varios resultados.

Descargar o modelo de práctica

Podes descargar o modelo de Excel de práctica gratuíta desde aquí e practicar pola túa conta.

INDICE MATCH Varios resultados.xlsx

4 xeitos útiles de implementar o INDEX & MATCH Funcións xuntas en Excel para extraer varios resultados

Esta sección discutirá en detalle a utilización de a función INDEX e a función MATCH xuntos en Excel para obter varios resultados.

1. Buscar varios resultados en matriz usando a fórmula INDEX MATCH en Excel

Considere o seguinte conxunto de datos, onde queriamos atopar as diferentes notas dos estudantes de diferentes exames.

Podemos conseguilo executando unha fórmula INDEX-MATCH na nosa folla de traballo.

Pasos para atopar varios resultados nun conxunto dunha matriz usando INDEX-MATCH As funcións indícanse a continuación.

Pasos:

  • Escolle un nome do conxunto de datos ( B5:B11 ) e pon o nome noutra cela para usar o número de referencia da cela máis tarde (por exemplo, nome Villiers en Cela G4 ).
  • Noutra cela que queiras como cela de resultado ( por exemplo, Cela G7 ), escriba oConclusión

    Este artigo explicou en detalle como usar as funcións INDEX MATCH para extraer varios resultados en Excel. Espero que este artigo che resultou moi beneficioso. Non dubides en preguntar se tes algunha dúbida sobre o tema.

    seguinte fórmula,
=INDEX($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),""),ROWS($A$1:A1)))

Aquí,

$C$5:$C$11 = a matriz para buscar o valor de busca

$B$5:$B$11 = a matriz onde está o valor de busca

  • Preme Intro .

Notarás que o resultado dos datos (por exemplo, Villiers ) que puxo na cela seleccionada ( G4 ), aparecerá na cela do resultado (por exemplo, 65 en G7 ).

  • Agora arrastra a fila cara abaixo por Encha o controlador para obter o resto dos resultados do mesmo valor de busca.

Como este proceso non é constante para ningún valor específico, podes escolla calquera dato de busca na cela seleccionada (por exemplo, G4 ) e o resultado para eses datos concretos actualizarase automaticamente na cela de resultado (por exemplo, G7 ).

Para entender máis, consulta o gif a continuación.

Desglose da fórmula:

Imos desglosar a fórmula para entender como obtivemos o resultado.

  • MATCH($B$5:$B$11, $G$4, 0) pasa a ser,

-> PARTICIPAR({“Flintoff”; “ Ronaldo”; "Plessis"; "Villiers"; "Beckham"; "Villiers"; “Plessis”}, “Villiers”, 0)

-> Saída: {#N/A; #N / A; #N / A; 1; #N / A; 1; #N/A}

Explicación: Se o valor de busca atopa unha coincidencia na matriz de busca, a función COINCIDIR devolve 1 , se non, devolve #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) pasa a ser,

-> ISNUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})

-> Saída: {FALSO; FALSO; FALSO; VERDADEIRO; FALSO; VERDADEIRO; FALSO}.

Explicación: Como a función IF non é capaz de xestionar os valores de erro, polo que se está a utilizar a función ISNUMBER aquí para converter os valores da matriz en valores booleanos.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B) $5:$B$11), ROW($B$5:$B$11)), “”) pasa a ser,

-> IF({FALSO; FALSO; FALSO ; VERDADEIRO; FALSO; VERDADEIRO; FALSO}, COINCIDIR(FILA($B$5:$B$11), FILA($B$5:$B$11)), “”)

convértese en

-> SE({FALSO; FALSO; FALSO; VERDADEIRO; FALSO; VERDADEIRO; FALSO}, {1; 2; 3; 4; 5; 6; 7}, “”)

-> Saída: {“”; “”; “”; 4; “”; 6}

Explicación: En primeiro lugar, a función IF converte os valores booleanos en números de fila e espazos en branco. Máis tarde, as funcións MATCH e ROW Function calculan unha matriz con números consecutivos, de 1 a n, onde n é a última identidade numérica do tamaño total do intervalo de celas. Como $B$5:$B$11 ten 7 valores, polo que a matriz pasa a ser {1; 2; 3; 4; 5; 6; 7} .

  • PEQUENO(SE(ISNUMBER(COINCIDIR($B$5:$B$11, $G$4, 0))), COINCIDIR(FILA($B$5: $B$11), ROW($B$5:$B$11)), “”), ROWS($A$1:A1))) pasa a ser

-> PEQUENO({“”; “”; “”; 4; “”; 6}, FILAS($A$1:A1))

-> PEQUENO({“”; “”; “”; 4; “”; 6}, 1)

-> Saída: 4

Explicación: En primeiro lugar, a función PEQUENA determina que valor obter en función do número de fila. A continuación, a función Filas devolve un número que cambia cada vez que a cela se copia e pega nas celas de abaixo. Inicialmente, devolveu 4 segundo o noso conxunto de datos. Na seguinte cela, ROWS($A$1:A1) cambia a ROWS($A$1:A2) e devolve 6 .

  • ÍNDICE($C$5:$C$11, PEQUENO(IF(ISNUMBER(COINCIDENCIA($B$5:$B$11, $G$4, 0))), MATCH(FILA($B$5:) $B$11), ROW($B$5:$B$11)), “”), ROWS($A$1:A1))) pasa a ser

-> ÍNDICE($C$5:$C$11, 4)

-> Saída: 65

Explicación: O <1 A función>INDEX devolve un valor dunha matriz determinada baseándose nun número de fila e columna. O 4o valor da matriz $C$5:$C$11 é 65 , polo que a función INDEX devolve 65 na cela G7 .

Ler máis: SE con INDEX-MATCH en Excel (3 enfoques adecuados)

2. Atopar os resultados múltiples do nome e amp; Data con Fórmula INDEX MATCH en Excel

Ás veces esquecémonos da data de eventos importantes. Nese caso, as funcións INDEX MATCH funcionan como socorristas.

Abaixo amósanse os datos de mostra onde queriamos saber o próximo aniversario entre os nosos amigos.

Entón, o que fixemos foi implementar unha fórmula INDEX MATCH para saber quen é o próximo aniversario e cando.

Entón, a fórmula parasaber o nome da persoa ou o nome do próximo evento é,

=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)

E a fórmula para coñecer a data do próximo evento é,

=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)

Desglose da fórmula:

Imos desglosar a fórmula para entender como descubrimos o nome de Alex e a data do seu aniversario.

  • MATCH(F5,$C$5:$C$9,1)

-> Saída: 4

Explicación: A función MATCH atopa a posición do valor de busca ( Cela F5 = Xoves 11 de novembro de 2021 ) na constante matricial ( $C$5:$C$9 = a lista das datas ) .

Neste exemplo, non queriamos unha coincidencia exacta, queriamos que a función MATCH devolvese unha coincidencia aproximada, polo que establecemos o terceiro argumento en 1 (ou VERDADEIRO ).

  • INDICE($B$5:$B$9,COINCIDENCIAR(F5,$C$5:$C$9,1)+1 ) pasa a ser

-> INDEX($B$5:$B$9, 4) +1)

-> Saída: Alex /(Nome do evento)

Explicación: A función INDEX toma dous argumentos para devolver un valor específico nun intervalo unidimensional. Aquí, o intervalo $B$5:$B$9 é primeiro o argumento e o resultado que tivemos do cálculo da sección anterior (MATCH(F5,$C$5:$C$9, 1)) , posición 4 , é o segundo argumento. Isto significa que estamos a buscar o valor situado na posición 4 no $B$5:$B$9 intervalo.

E,

  • INDICE($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) pasa a ser

-> INDEX($B$5:$B$9, 4) +1)

-> Saída: Martes, 7 de decembro de 2021

Explicación: A función INDEX toma dous argumentos para devolver un valor específico nun intervalo unidimensional. Aquí, o intervalo $C$5:$C$9 é primeiro o argumento e o resultado que tivemos do cálculo da sección anterior (MATCH(F5,$C$5:$C$9, 1)) , posición 4 , é o segundo argumento. Isto significa que estamos a buscar o valor situado na posición 4 no intervalo $C$5:$C$9 .

Para obter a data do próximo evento, só engadimos un á posición da cela que devolve a función COINCIDIR e deunos a posición da cela da seguinte data do evento.

Ler máis: ÍNDICE de Excel -Fórmula MATCH para devolver varios valores horizontalmente

Lecturas similares

  • INDICE MATCH Varios criterios con comodín en Excel (Guía completa)
  • [Corrixido!] INDEX MATCH non devolve o valor correcto en Excel (5 razóns)
  • Como usar INDEX MATCH en lugar de VLOOKUP en Excel (3 xeitos)
  • INDEX+COINCER con valores duplicados en Excel (3 métodos rápidos)
  • Como seleccionar datos específicos en Excel (6 Métodos)

3. Xera varios resultados en columnas separadas usando a fórmula INDEX MATCH en Excel

Ata agora temosobtivo resultados por filas. Pero que pasa se queres obter os resultados en columnas separadas .

Considera o seguinte conxunto de datos, que consta de tres tipos de profesións que representan varios nomes de persoas.

Queriamos facer un grupo de persoas en función da profesión e queriamos colocar os nomes en columnas segundo a súa profesión.

Para extraer múltiples combinar os resultados en celas separadas en columnas separadas, podes facer un pequeno truco coa función INDEX .

Imos aprender a extraer varios resultados de coincidencia en varias columnas en Excel cunha combinación de ÍNDICE funcións e outras.

Pasos:

  • Escolle unha profesión do intervalo de datos ( B5:B11 ) e coloque os datos noutra cela para usar o número de referencia da cela máis tarde (por exemplo, profesión Cricketer en Cela E5 ).
  • Noutra cela que queira como a túa cela de resultado (por exemplo, Cela F5 ), escribe a seguinte fórmula,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1),COLUMNS($E$5:E5))),"")

Aquí,

$C$5:$C$11 = o ar ray para buscar o valor de busca

$B$5:$B$11 = a matriz onde está o valor de busca

  • Preme Intro .

Notarás que o resultado dos datos (p. ex. Cricketers ) que poña na cela seleccionada ( E5 ), aparecerá na cela de resultado (por exemplo, Flintoff na Cela F5 ).

  • Agora arrastra a fila ao redor Enche o controlador para obter o resto dos resultados do mesmo valor de busca en varias columnas separadas.

  • De novo, arrastra o fila ao redor de Recheo de control para obter o resto dos teus resultados de diferentes valores de busca (por exemplo, Futbolista, Loitadores ) en varias columnas separadas.

Desglose da fórmula:

Imos desglosar a fórmula para entender como obtivemos o resultado.

  • PEQUENO(SE ($B$5:$B$11=$E5,FILA($C$5:$C$11)-MIN(FILA($C$5:$C$11))+1), COLUMNAS($E$5:E5))

Xa sabemos pola discusión anterior como funcionan xuntas as funcións SMALL, IF e ROW , e aquí tamén estamos usando ese truco para xerar un número de fila correspondente a unha coincidencia N. Unha vez que teñamos o número da fila, simplemente pasámolo á función INDEX que devolve o valor nesa fila.

-> Saída: ( como na imaxe de abaixo )

  • INDICE($C$5:$C$11, PEQUENO(IF($B$5:$B$11) =$E5,FILA($C$5:$C$11)-MIN(FILA($C$5:$C$11))+1), COLUMNAS($E$5:E5))) -> pasando os números de fila á función INDEX para extraer o valor dos números de fila correspondentes.

-> Saída: ( como na imaxe abaixo )

  • IFERROR(INDEX($C$5:$C$11, PEQUENO(SE($B$5:$B$11= $E5,FILA(C5:C11)-MIN(FILA(C5:C11))+1),COLUNAS($E$5:E5))),””) -> observe que cando as columnas devolven un valor que non existe, isolanza un erro #NUM . Para evitar o erro, envolvemos toda a fórmula coa función IFERROR para detectar erros e establecer unha cadea baleira (“”) como retorno.

-> Saída: ( como na imaxe de abaixo )

Ler máis: Excel INDEX MATCH para devolver varios valores nunha cela

4. Extraer varios resultados en filas separadas utilizando funcións INDEX MATCH en Excel

Se estás a preguntar sobre a extracción de varios resultados en varias filas do mesmo xeito que fixemos na nosa sección anterior, entón a fórmula é:

=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1),ROWS($E$5:E5))),"")

E todos os demais detalles, como Pasos e Desglose de fórmulas, son os mesmos que na sección 3.

Puntos clave que debes ter en conta

  • Como intervalo da matriz da táboa de datos para buscar o valor é fixo, non esquezas poñer o signo dólar ($) diante do número de referencia da cela da táboa matricial.
  • Cando traballes con valores de matriz, non esquezas premer Ctrl + Maiús + Intro no teu teclado rd ao extraer resultados. Premer só Intro só funcionará cando esteas a usar Microsoft 365 .
  • Despois de premer Ctrl + Maiús + Intro , notarás que o barra de fórmulas encerrou a fórmula entre chaves {} , declarándoa como unha fórmula matricial. Non escribas eses corchetes {} ti mesmo, Excel fai isto automaticamente por ti.

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.