Kuidas kasutada INDEX-MATCH valemit Excelis mitme tulemuse genereerimiseks

  • Jaga Seda
Hugh West

Suure hulga andmetega töötades tekib mitu tulemust. Excelis on olemas väga mugav viis mitme tulemuse väljavõtmiseks. Selles artiklis näitame, kuidas kasutada funktsiooni INDEX-MATCH valem Excelis mitme tulemuse genereerimiseks.

Lae alla praktika mall

Saate siit alla laadida tasuta Exceli harjutusvormi ja ise harjutada.

INDEX MATCH Multiple Results.xlsx

4 kasulikku viisi INDEX & MATCH-funktsioonide rakendamisel koos Excelis mitme tulemuse väljavõtmiseks

Käesolevas punktis käsitletakse üksikasjalikult järgmiste meetodite kasutamist funktsioon INDEX ja funktsioon MATCH koos Excelis, et saada mitu tulemust.

1. Mitme tulemuse leidmine massiivi abil INDEX MATCH valemiga Excelis

Vaadakem järgmist andmestikku, kus soovime leida erinevate eksamite õpilaste erinevaid hindeid.

Me saame selle, kui käivitame INDEX-MATCH valemiga meie töölehel.

Sammud mitme tulemuse leidmiseks massiivi komplektis kasutades INDEX-MATCH funktsioonid on esitatud allpool.

Sammud:

  • Valige andmekogumi nimi ( B5:B11 ) ja panna nimi teise lahtrisse, et hiljem kasutada lahtri viitenumbrit (nt nimi Villiers aadressil Cell G4 ).
  • Teises lahtris, mida soovite tulemuse lahtriks (nt. Lahter G7 ), kirjutage järgmine valem,
=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))))

Siin,

$C$5:$C$11 = massiiv, et otsida otsinguväärtust

$B$5:$B$11 = massiivi, kus otsinguväärtus on

  • Press Sisesta .

Te märkate, et andmete tulemus (nt. Villiers ), mille paned valitud lahtrisse ( G4 ), ilmub tulemuse lahtrisse (nt. 65 aadressil G7 ).

  • Nüüd lohistage rida alla Täitmise käepide et saada ülejäänud tulemused sama otsinguväärtuse kohta.

Kuna see protsess ei ole konstantne ühegi konkreetse väärtuse jaoks, siis võite valida mis tahes otsinguandmed valitud lahtrisse (nt. G4 ) ja selle konkreetse andmestiku tulemus uuendatakse automaatselt tulemuse lahtrisse (nt. G7 ).

Et rohkem aru saada, vaata allolevat gif'i.

Valemite jaotamine:

Jagame valemi lahti, et mõista, kuidas me selle tulemuse saime.

  • MATCH($B$5:$B$11, $G$4, 0) muutub,

-> MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis"}, "Villiers", 0)

-> Väljund: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}

Selgitus: Kui otsinguväärtus leiab otsingumassiivist vaste, siis on käsk MATCH funktsioon tagastab 1 , vastasel juhul tagastab see #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) muutub,

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

-> Väljund: {FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.

Selgitus: Nagu funktsioon IF ei suuda käsitleda veaväärtusi, nii et funktsioon ISNUMBER kasutatakse siin massiivide väärtuste teisendamiseks booleteks väärtusteks.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") muutub,

-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")

muutub

-> IF({FALSE; FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")

-> Väljund: {""; ""; ""; 4; ""; 6}

Selgitus: Esiteks on IF Funktsioon konverteerib booluse väärtused rea numbriteks ja tühikuteks. Hiljem saab funktsiooni MATCH ja ROW funktsioon s arvutab järjestikuste numbritega massiivi 1 kuni n, kus n on lahtrite vahemiku kogusuuruse viimane numbriline identiteet. Kuna $B$5:$B$11 on 7 väärtust, nii et massiivi saab {1; 2; 3; 4; 5; 6; 7} .

  • 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)))) muutub

-> SMALL({""; ""; ""; 4; ""; 6}, ROWS($A$1:A1))

-> SMALL({""; ""; ""; 4; ""; 6}, 1)

-> Väljund: 4

Selgitus: Esiteks, SMALL funktsioon määrab, millist väärtust saada rea numbri alusel. Järgnevalt määrab Rid Funktsioon tagastab numbri, mis muutub iga kord, kui lahter kopeeritakse ja kleebitakse allolevatesse lahtritesse. Algselt tagastas ta 4 vastavalt meie andmekogumile. Järgmises lahtris allpool, ROWS($A$1:A1) muudatused ROWS($A$1:A2) ja tagastab 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)))) muutub

-> INDEX($C$5:$C$11, 4)

-> Väljund: 65

Selgitus: The INDEX funktsioon tagastab antud massiivi väärtuse, mis põhineb rea ja veeru numbril. Neljas väärtus massiivis $C$5:$C$11 on 65 , nii et INDEX funktsioon tagastab 65 lahtris G7 .

Loe edasi: IF koos INDEX-MATCHiga Excelis (3 sobivat lähenemisviisi)

2. Leia mitu tulemust eelseisva sündmuse nimi & kuupäev INDEX MATCH valemiga Excelis

Mõnikord unustame oluliste sündmuste kuupäeva. Sellisel juhul on INDEX MATCH funktsioonid töötavad päästjad.

Allpool on näidisandmed, kus soovisime teada, milline on meie sõprade eelseisev sünnipäev.

Niisiis, mida me tegime, rakendasime INDEX MATCH valemiga, et teada saada, kelle sünnipäev on järgmine ja millal see on.

Niisiis, valem isiku nime või eelseisva sündmuse nime teadasaamiseks on järgmine,

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

Ja valem eelseisva sündmuse kuupäeva teadasaamiseks on,

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

Valemite jaotamine:

Võtame valemi lahti, et mõista, kuidas me saime teada nime Alex ja tema sünnipäeva kuupäeva.

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

-> Väljund: 4

Selgitus: The MATCH Funktsioon leiab otsinguväärtuse asukoha ( Lahter F5 = Neljapäev, 11. november 2021 ) massiivi konstant ( $C$5:$C$9 = kuupäevade loetelu ).

Selles näites ei soovinud me täpset vastet, vaid soovisime, et MATCH funktsiooni, et tagastada ligikaudne vaste, seega seame kolmanda argumendi väärtuseks 1 (või TÕELINE ).

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

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

-> Väljund: Alex /(sündmuse nimi)

Selgitus: The INDEX Funktsioon võtab kaks argumenti, et tagastada konkreetne väärtus ühemõõtmelises vahemikus. Siin on vahemik $B$5:$B$9 on kõigepealt argument ja tulemus, mis saime eelmises punktis tehtud arvutustest. (MATCH(F5,$C$5:$C$9,1)) , positsioon 4 , on teine argument. See tähendab, et me otsime väärtust, mis asub positsioonis 4 aastal $B$5:$B$9 vahemik.

Ja,

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

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

-> Väljund: teisipäev, 7. detsember 2021

Selgitus: The INDEX Funktsioon võtab kaks argumenti, et tagastada konkreetne väärtus ühemõõtmelises vahemikus. Siin on vahemik $C$5:$C$9 on kõigepealt argument ja tulemus, mis saime eelmises punktis tehtud arvutustest. (MATCH(F5,$C$5:$C$9,1)) , positsioon 4 , on teine argument. See tähendab, et me otsime väärtust, mis asub positsioonis 4 aastal $C$5:$C$9 vahemik.

Et saada eelseisva sündmuse kuupäeva, lisasime lihtsalt ühe lahtri positsioonile, mille tagastasime funktsiooniga MATCH funktsiooni ja see andis meile järgmise sündmuse kuupäeva lahtri positsiooni.

Loe edasi: Exceli INDEX-MATCH-valem mitme väärtuse horisontaalselt tagastamiseks

Sarnased lugemised

  • INDEX MATCH mitu kriteeriumi koos Wildcardiga Excelis (täielik juhend)
  • [Parandatud!] INDEX MATCH ei anna Excelis õiget väärtust (5 põhjust)
  • Kuidas kasutada VLOOKUP-i asemel INDEX MATCH-i Excelis (3 viisi)
  • INDEX+MATCH koos dubleerivate väärtustega Excelis (3 kiiret meetodit)
  • Kuidas valida spetsiifilisi andmeid Excelis (6 meetodit)

3. Mitme tulemuse genereerimine eraldi veergudesse, kasutades INDEX MATCH valemit Excelis

Siiani oleme saanud tulemusi reas. Aga mis siis, kui soovite saada tulemusi reas. eraldi veerud .

Vaadake järgmist andmestikku, mis koosneb kolmest eri liiki ametitest, mis esindavad mitut inimest.

Me tahtsime teha inimeste rühma, mis põhineb kutsealal, ja tahtsime panna nimed veergude kaupa vastavalt nende elukutsele.

Mitme vaste tulemuste väljavõtmiseks eraldi lahtritesse eraldi veergudesse saate teha väikese triki, kasutades INDEX funktsioon.

Õpime, kuidas ekstraheerida mitme vaste tulemusi mitmes veerus Excelis kombinatsiooniga INDEX funktsioonid ja muud.

Sammud:

  • Valige kutseala andmevalikust ( B5:B11 ) ja panna andmed teise lahtrisse, et hiljem kasutada lahtri viitenumbrit (nt elukutse Cricketer aadressil Lahter E5 ).
  • Teises lahtris, mida soovite tulemuse lahtrina kasutada (nt. Lahter F5 ), kirjutage järgmine valem,
=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))),"")

Siin,

$C$5:$C$11 = massiiv, et otsida otsinguväärtust

$B$5:$B$11 = massiivi, kus otsinguväärtus on

  • Press Sisesta .

Te märkate, et andmete tulemus (nt. Kriketid ), mille paned valitud lahtrisse ( E5 ), ilmub tulemuse lahtrisse (nt. Flintoff aadressil Lahter F5 ).

  • Nüüd lohistage rida ümber Täitmise käepide et saada ülejäänud tulemused sama otsinguväärtuse kohta eraldi mitmesse veergu.

  • Taas lohistage rida ümber Täitmise käepide et saada ülejäänud tulemused oma erinevate otsinguväärtuste (nt. Jalgpallur, maadlejad ) eraldi mitme veeruga.

Valemite jaotamine:

Jagame valemi lahti, et mõista, kuidas me selle tulemuse saime.

  • SMALL(IF($B$5:$B$11=$E5,ROW($C$5:$C$11)-MIN(ROW($C$5:$C$11))+1),COLUMNS($E$5:E5))

Me teame juba eelmisest arutelust, kuidas SMALL, IF ja ROW funktsioonid töötavad koos, ja me kasutame seda trikki ka siin N-ndale vastusele vastava rea numbri genereerimiseks. Kui meil on rea number olemas, siis anname selle lihtsalt üle funktsioonile INDEX funktsioon, mis tagastab selle rea väärtuse.

-> Väljund: ( nagu alloleval pildil )

  • 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)))) -> rea numbrite edastamine reale INDEX funktsiooni, et eraldada väärtus vastavate rea numbrite jaoks.

-> Väljund: ( nagu alloleval pildil )

  • 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))),"") -> pane tähele, et kui veerud tagastavad väärtuse, mida ei ole olemas, siis viskab see väärtuse #NUM viga. Vea vältimiseks mähime kogu valemi ümber koos funktsioon IFERROR et püüda vigu ja määrata tühi string ("") tagastuseks.

-> Väljund: ( nagu alloleval pildil )

Loe edasi: Excel INDEX MATCH mitme väärtuse tagastamiseks ühes lahtris

4. Mitme tulemuse väljavõtmine eraldi ridadesse, kasutades INDEX MATCH-funktsioone Excelis

Kui te mõtlete mitme tulemuse ekstraheerimisele mitmesse ritta samamoodi, nagu me seda tegime eelmises punktis, siis valem on järgmine,

=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))),"")

Ja kõik muud üksikasjad, nagu sammud ja valemite jaotus, on samad, mis punktis 3.

Peamised punktid, mida peate silmas pidama

  • Kuna andmetabeli massiivi vahemik väärtuse otsimiseks on fikseeritud, siis ärge unustage panna dollar ($) märk massiivi tabeli lahtri viitenumbri ees.
  • Kui töötate massiivi väärtustega, ärge unustage vajutada nuppu Ctrl + Shift + Enter klaviatuuril tulemuste väljavõtmise ajal. Vajutades ainult Sisesta töötab ainult siis, kui kasutate Microsoft 365 .
  • Pärast vajutamist Ctrl + Shift + Enter , siis märkate, et valemiriba ümbritses valemit sisse kumerad sulgudes {} , deklareerides seda massiivi valemina. Ärge kirjutage neid sulgudes {} ise, Excel teeb seda automaatselt teie eest.

Kokkuvõte

Selles artiklis selgitatakse üksikasjalikult, kuidas kasutada INDEX MATCH funktsioonid mitme tulemuse väljavõtmiseks Excelis. Loodan, et see artikkel oli teile väga kasulik. Küsige julgelt, kui teil on teemaga seoses küsimusi.

Hugh West on suurte kogemustega Exceli koolitaja ja analüütik, kellel on selles valdkonnas üle 10-aastane kogemus. Tal on raamatupidamise ja rahanduse bakalaureusekraad ning ärijuhtimise magistrikraad. Hugh’l on kirg õpetamise vastu ning ta on välja töötanud ainulaadse õpetamisviisi, mida on lihtne järgida ja mõista. Tema Exceli ekspertteadmised on aidanud tuhandetel õpilastel ja spetsialistidel üle maailma oma oskusi parandada ja karjääris silma paista. Oma ajaveebi kaudu jagab Hugh oma teadmisi maailmaga, pakkudes tasuta Exceli õpetusi ja veebikoolitusi, mis aitavad üksikisikutel ja ettevõtetel oma potentsiaali täielikult ära kasutada.