Cuprins
În timp ce lucrul cu un număr mare de date duce la producerea de rezultate multiple. În Excel, există o modalitate foarte convenabilă de a extrage rezultate multiple. În acest articol, vă vom arăta cum să utilizați funcția INDEX-MATCH formula în Excel pentru a genera rezultate multiple.
Descărcați modelul de practică
Puteți descărca șablonul Excel gratuit de practică de aici și puteți exersa pe cont propriu.
INDEX MATCH Rezultate multiple.xlsx4 Modalități utile în implementarea INDEX & Funcțiile MATCH împreună în Excel pentru a extrage rezultate multiple
În această secțiune se va discuta în detaliu utilizarea de funcția INDEX și funcția MATCH împreună în Excel pentru a obține rezultate multiple.
1. Găsiți mai multe rezultate în array folosind formula INDEX MATCH în Excel
Luați în considerare următorul set de date, în care dorim să aflăm notele diferite ale studenților de la diferite examene.
Putem obține acest lucru prin rularea unui INDEX-MATCH în foaia noastră de calcul.
Pași pentru găsirea mai multor rezultate într-un set al unui tablou folosind INDEX-MATCH sunt prezentate mai jos.
Pași:
- Alegeți un nume din setul de date ( B5:B11 ) și puneți numele într-o altă celulă pentru a utiliza ulterior numărul de referință al celulei (de exemplu, nume Villiers în Celula G4 ).
- Într-o altă celulă pe care o doriți ca celulă de rezultat (de ex. Celula G7 ), scrieți următoarea formulă,
=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))))
Aici,
$C$5:$C$11 = matricea pentru a căuta valoarea de căutare
$B$5:$B$11 = matricea în care se află valoarea de căutare
- Apăsați Introduceți .
Veți observa că rezultatul pentru date (de ex. Villiers ) pe care o puneți în celula selectată ( G4 ), va apărea în celula de rezultat (de ex. 65 în G7 ).
- Acum trageți rândul în jos cu Mâner de umplere pentru a obține celelalte rezultate ale aceleiași valori de căutare.
Deoarece acest proces nu este constant pentru o anumită valoare, puteți alege orice date de căutare din celula selectată (de exemplu. G4 ), iar rezultatul pentru datele respective va fi actualizat automat în celula de rezultat (de ex. G7 ).
Pentru a înțelege mai multe, consultați imaginea de mai jos.
Repartizarea formulei:
Să descompunem formula pentru a înțelege cum am obținut rezultatul.
- MATCH($B$5:$B$11, $G$4, 0) devine,
-> MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis"}, "Villiers", 0)
-> Ieșire: {#N/A; #N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}
Explicație: În cazul în care valoarea de căutare găsește o potrivire în matricea de căutare, atunci se aplică MATCH funcția returnează 1 , în caz contrar, se returnează #N/A .
- ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) devine,
-> ISNUMBER({#N/A; #N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})
-> Ieșire: {FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE}.
Explicație: Ca funcția IF nu este capabil să gestioneze valorile de eroare, așa că funcția ISNUMBER este utilizat aici pentru a converti valorile din matrice în valori booleene.
- IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") devine,
-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")
devine
-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE}, {1; 2; 3; 3; 4; 5; 6; 7}, "")
-> Ieșire: {""; ""; ""; ""; 4; ""; 6}
Explicație: În primul rând, se IF Funcția convertește valorile booleene în numere de rând și spații libere. Ulterior, funcția MATCH și funcția ROW s calculează un tablou cu numere consecutive, de la 1 la n, unde n este ultima identitate numerică a dimensiunii totale a intervalului de celule. Ca și $B$5:$B$11 are 7 valori, astfel că matricea devine {1; 2; 3; 4; 5; 6; 7} .
- SMALL(IF(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)))) devine
-> SMALL({""; ""; ""; ""; 4; ""; 6}, ROWS($A$1:A1))
-> SMALL({""; ""; ""; ""; 4; ""; 6}, 1)
-> Ieșire: 4
Explicație: În primul rând, funcția SMALL determină ce valoare trebuie să obțină în funcție de numărul rândului. În continuare, funcția Rânduri Funcția returnează un număr care se schimbă de fiecare dată când celula este copiată și lipită în celulele de mai jos. Inițial, a returnat 4 în conformitate cu setul nostru de date. În următoarea celulă de mai jos, ROWS($A$1:A1) modificări la ROWS($A$1:A2) și returnează 6 .
- 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))) devine
-> INDEX($C$5:$C$11, 4)
-> Ieșire: 65
Explicație: The INDEX returnează o valoare dintr-o matrice dată pe baza unui număr de rânduri și coloane. Funcția 4. valoarea din matrice $C$5:$C$11 este 65 , astfel încât INDEX funcția returnează 65 în celulă G7 .
Citește mai mult: IF cu INDEX-MATCH în Excel (3 abordări adecvate)
2. Găsiți mai multe rezultate ale numelui evenimentului viitor & Data cu formula INDEX MATCH în Excel
Uneori uităm de data unor evenimente importante. În acest caz, se poate folosi INDEX MATCH funcțiile lucrează ca salvatori.
Mai jos este un exemplu de date în care am vrut să aflăm care este ziua de naștere a prietenilor noștri.
Deci, ceea ce am făcut a fost să implementăm un INDEX MATCH formula pentru a afla care este următoarea zi de naștere și când este aceasta.
Așadar, formula pentru a afla numele persoanei sau al evenimentului care urmează este,
=INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)
Iar formula pentru a afla data viitorului eveniment este,
=INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)
Repartizarea formulei:
Să descompunem formula pentru a înțelege cum am aflat numele Alex și data zilei sale de naștere.
- MATCH(F5,$C$5:$C$9,1)
-> Ieșire: 4
Explicație: The MATCH Funcția găsește poziția valorii de căutare ( Celula F5 = Joi, 11 noiembrie 2021 ) în constanta matricei ( $C$5:$C$9 = lista de date ).
În acest exemplu, nu am vrut o potrivire exactă, ci am vrut ca MATCH să returneze o potrivire aproximativă, așa că stabilim al treilea argument la 1 (sau ADEVĂRAT ).
- INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) devine
-> INDEX($B$5:$B$9, 4) +1)
-> Ieșire: Alex /(Numele evenimentului)
Explicație: The INDEX Funcția ia două argumente pentru a returna o anumită valoare într-un interval unidimensional. Aici, intervalul $B$5:$B$9 este mai întâi argumentul și rezultatul pe care l-am avut din calculul din secțiunea anterioară (MATCH(F5,$C$5:$C$9,1)) , poziția 4 Asta înseamnă că se caută valoarea aflată în poziția 4 în $B$5:$B$9 gamă.
Și,
- INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) devine
-> INDEX($B$5:$B$9, 4) +1)
-> Ieșire: marți, 7 decembrie 2021
Explicație: The INDEX Funcția ia două argumente pentru a returna o anumită valoare într-un interval unidimensional. Aici, intervalul $C$5:$C$9 este mai întâi argumentul și rezultatul pe care l-am avut din calculul din secțiunea anterioară (MATCH(F5,$C$5:$C$9,1)) , poziția 4 Asta înseamnă că se caută valoarea aflată în poziția 4 în $C$5:$C$9 gamă.
Pentru a obține data viitorului eveniment, trebuie doar să adăugăm unul la poziția celulei returnată de către MATCH și ne-a oferit poziția celulei pentru data următorului eveniment.
Citește mai mult: Excel INDEX-MATCH Formula pentru a returna mai multe valori orizontal
Lecturi similare
- INDEX MATCH Criterii multiple cu Wildcard în Excel (Un ghid complet)
- [Fixed!] INDEX MATCH nu returnează valoarea corectă în Excel (5 motive)
- Cum să utilizați INDEX MATCH în loc de VLOOKUP în Excel (3 moduri)
- INDEX+MATCH cu valori duplicate în Excel (3 metode rapide)
- Cum să selectați date specifice în Excel (6 metode)
3. Generarea de rezultate multiple în coloane separate folosind formula INDEX MATCH în Excel
Până acum am obținut rezultatele pe rând. Dar dacă doriți să obțineți rezultatele în coloane separate .
Luați în considerare următorul set de date, care constă din trei tipuri de profesii reprezentând mai multe nume de persoane.
Am vrut să facem un grup de oameni în funcție de profesie și am vrut să plasăm numele pe coloane în funcție de profesia lor.
Pentru a extrage mai multe rezultate de potrivire în celule separate, în coloane separate, puteți face un mic truc cu ajutorul funcției INDEX funcție.
Să învățăm cum să extragem mai multe rezultate de potrivire în mai multe coloane în Excel cu o combinație de INDEX funcții și altele.
Pași:
- Alegeți o profesie din intervalul de date ( B5:B11 ) și puneți datele într-o altă celulă pentru a utiliza ulterior numărul de referință al celulei (de exemplu, profesia Cricketer în Celula E5 ).
- Într-o altă celulă pe care o doriți ca celulă de rezultat (de ex. Celula F5 ), scrieți următoarea formulă,
=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))),"")
Aici,
$C$5:$C$11 = matricea pentru a căuta valoarea de căutare
$B$5:$B$11 = matricea în care se află valoarea de căutare
- Presa Introduceți .
Veți observa că rezultatul pentru date (de ex. Cricketers ) pe care o puneți în celula selectată ( E5 ), va apărea în celula de rezultat (de ex. Flintoff în Celula F5 ).
- Acum trageți rândul în jurul valorii de Mâner de umplere pentru a obține restul rezultatelor aceleiași valori de căutare în coloane multiple separate.
- Din nou, trageți rândul în jurul valorii de Mâner de umplere pentru a obține restul rezultatelor din diferite valori de căutare (de ex. Fotbalist, Luptători ) în coloane multiple separate.
Repartizarea formulei:
Să descompunem formula pentru a înțelege cum am obținut rezultatul.
- SMALL(IF(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5)))
Știm deja din discuția anterioară cum MICI, DACĂ și ROW lucrează împreună, iar noi folosim acest truc și aici pentru a genera un număr de rând care să corespundă unei a N-a potriviri. Odată ce avem numărul de rând, îl trecem pur și simplu în funcția INDEX care returnează valoarea din rândul respectiv.
-> Ieșire: ( ca în imaginea de mai jos )
- INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))))) -> trecerea numerelor de rânduri către INDEX pentru a extrage valoarea numerelor de rând corespunzătoare.
-> Ieșire: ( ca în imaginea de mai jos )
- 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))),"") -> observați că, atunci când coloanele returnează o valoare care nu există, se aruncă o eroare de tip #NUM Pentru a preveni eroarea, înfășurăm întreaga formulă cu funcția IFERROR pentru a prinde erorile și a seta un șir gol (""") ca o returnare.
-> Ieșire: ( ca în imaginea de mai jos )
Citește mai mult: Excel INDEX MATCH pentru a returna mai multe valori într-o singură celulă
4. Extrageți rezultate multiple în rânduri separate utilizând funcțiile INDEX MATCH în Excel
Dacă vă întrebați despre extragerea mai multor rezultate în mai multe rânduri în același mod în care am făcut-o în secțiunea anterioară, atunci formula este,
=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))),"")
Și toate celelalte detalii, cum ar fi etapele și defalcarea formulei, sunt aceleași ca în secțiunea 3.
Puncte cheie pe care trebuie să le aveți în vedere
- Deoarece intervalul din matricea tabelului de date pentru a căuta valoarea este fix, nu uitați să puneți dolar ($) în fața numărului de referință al celulei din tabelul de matrice.
- Când lucrați cu valori de matrice, nu uitați să apăsați Ctrl + Shift + Enter de pe tastatură în timpul extragerii rezultatelor. Dacă apăsați doar Introduceți va funcționa numai atunci când utilizați Microsoft 365 .
- După ce apăsați Ctrl + Shift + Enter , veți observa că bara de formule a cuprins formula în paranteze ondulate {} , declarând-o ca o formulă de matrice. Nu tastați acele paranteze {} Excel face automat acest lucru pentru dumneavoastră.
Concluzie
Acest articol a explicat în detaliu cum se utilizează INDEX MATCH pentru a extrage mai multe rezultate în Excel. Sper că acest articol v-a fost foarte util. Nu ezitați să mă întrebați dacă aveți întrebări legate de acest subiect.