Ako používať vzorec INDEX-MATCH v programe Excel na generovanie viacerých výsledkov

  • Zdieľajte To
Hugh West

Pri práci s veľkým počtom údajov dochádza k vytváraniu viacerých výsledkov. V programe Excel existuje veľmi pohodlný spôsob, ako získať viacero výsledkov. V tomto článku vám ukážeme, ako použiť INDEX-MATCH vzorec v programe Excel na generovanie viacerých výsledkov.

Stiahnite si šablónu pre prax

Bezplatnú cvičnú šablónu Excel si môžete stiahnuť odtiaľto a precvičiť si ju sami.

INDEX MATCH Viacnásobné výsledky.xlsx

4 užitočné spôsoby implementácie funkcií INDEX & MATCH spoločne v programe Excel na získanie viacerých výsledkov

V tejto časti sa podrobne rozoberie využitie funkcia INDEX a funkcia MATCH v programe Excel, aby ste získali viacero výsledkov.

1. Vyhľadanie viacerých výsledkov v poli pomocou vzorca INDEX MATCH v programe Excel

Uvažujme nasledujúci súbor údajov, v ktorom sme chceli zistiť rôzne známky študentov z rôznych skúšok.

Môžeme to získať spustením príkazu INDEX-MATCH vzorec v našom pracovnom hárku.

Kroky na nájdenie viacerých výsledkov v množine poľa pomocou INDEX-MATCH funkcie sú uvedené nižšie.

Kroky:

  • Vyberte názov zo súboru údajov ( B5:B11 ) a vložte názov do inej bunky, aby ste neskôr mohli použiť referenčné číslo bunky (napr. názov Villiers na stránke Bunka G4 ).
  • V inej bunke, ktorú chcete použiť ako výslednú bunku (napr. Bunka G7 ), napíšte nasledujúci vzorec,
=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)))

Tu,

$C$5:$C$11 = pole na vyhľadávanie hodnoty vyhľadávania

$B$5:$B$11 = pole, v ktorom je hodnota vyhľadávania

  • Tlač Vstúpte na stránku .

Všimnite si, že výsledok pre údaje (napr. Villiers ), ktoré ste vložili do vybranej bunky ( G4 ), sa zobrazí v bunke výsledku (napr. 65 na stránke G7 ).

  • Teraz potiahnite riadok nadol o Rukoväť náplne na získanie ostatných výsledkov rovnakej hodnoty vyhľadávania.

Keďže tento proces nie je konštantný pre žiadnu konkrétnu hodnotu, môžete vybrať ľubovoľné vyhľadávacie údaje vo vybranej bunke (napr. G4 ) a výsledok pre daný údaj sa automaticky aktualizuje v bunke výsledku (napr. G7 ).

Viac informácií nájdete na obrázku nižšie.

Rozdelenie vzorca:

Rozoberme si vzorec, aby sme pochopili, ako sme dostali výsledok.

  • MATCH($B$5:$B$11, $G$4, 0) sa stáva,

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

-> Výstup: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}

Vysvetlenie: Ak hľadaná hodnota nájde zhodu v poli vyhľadávania, potom sa MATCH funkcia vracia 1 , v opačnom prípade vráti #N/A .

  • ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) sa stáva,

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

-> Výstup: {FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}.

Vysvetlenie: Ako funkcia IF nedokáže spracovať chybové hodnoty, takže funkcia ISNUMBER sa tu používa na prevod hodnôt poľa na logické hodnoty.

  • IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") sa stáva,

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

sa stáva

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

-> Výstup: {""; ""; ""; 4; ""; 6}

Vysvetlenie: Po prvé, IF Funkcia konvertuje logické hodnoty na čísla riadkov a prázdne miesta. Neskôr sa MATCH a funkcia ROW s vypočíta pole s po sebe idúcimi číslami od 1 do n, kde n je posledná číselná identita celkovej veľkosti rozsahu buniek. $B$5:$B$11 má 7 hodnôt, takže pole má tvar {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))) sa stáva

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

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

-> Výstup: 4

Vysvetlenie: Po prvé, funkcia SMALL určí, ktorú hodnotu má získať na základe čísla riadku. Ďalej sa Riadky Funkcia vracia číslo, ktoré sa zmení vždy, keď sa bunka skopíruje a vloží do buniek pod ňou. 4 podľa nášho súboru údajov. V ďalšej bunke nižšie, ROWS($A$1:A1) zmeny na ROWS($A$1:A2) a vráti 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)) sa stáva

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

-> Výkon: 65

Vysvetlenie: Stránka INDEX funkcia vráti hodnotu z daného poľa na základe čísla riadku a stĺpca. 4. hodnota v poli $C$5:$C$11 je . 65 , takže INDEX funkcia vracia 65 v bunke G7 .

Prečítajte si viac: IF s INDEX-MATCH v programe Excel (3 vhodné prístupy)

2. Nájdite viacero výsledkov názvu nadchádzajúcej udalosti & dátum pomocou vzorca INDEX MATCH v programe Excel

Niekedy zabudneme na dátum dôležitých udalostí. V takom prípade INDEX MATCH funkcie pracujú ako záchranári.

Nižšie sú uvedené vzorové údaje, v ktorých sme chceli zistiť blížiace sa narodeniny našich priateľov.

Urobili sme to tak, že sme implementovali INDEX MATCH vzorec na zistenie, kto a kedy má najbližšie narodeniny.

Takže vzorec na zistenie mena osoby alebo názvu nadchádzajúcej udalosti je,

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

Vzorec na zistenie dátumu nadchádzajúcej udalosti je,

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

Rozdelenie vzorca:

Poďme si rozobrať vzorec, aby sme pochopili, ako sme zistili meno Alex a dátum jeho narodenín.

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

-> Výstup: 4

Vysvetlenie: Stránka MATCH Funkcia nájde pozíciu vyhľadávacej hodnoty ( Bunka F5 = Štvrtok, 11. novembra 2021 ) v konštantnom poli ( $C$5:$C$9 = zoznam dátumov ).

V tomto príklade sme nechceli presnú zhodu, chceli sme MATCH vrátiť približnú zhodu, takže tretí argument nastavíme na 1 (alebo TRUE ).

  • INDEX($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) sa stáva

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

-> Výstup: Alex /(Názov podujatia)

Vysvetlenie: Stránka INDEX Funkcia prijíma dva argumenty na vrátenie konkrétnej hodnoty v jednorozmernom rozsahu. $B$5:$B$9 je najprv argument a výsledok, ktorý sme mali z výpočtu v predchádzajúcej časti (MATCH(F5,$C$5:$C$9,1)) , pozícia 4 , je druhý argument. To znamená, že hľadáme hodnotu nachádzajúcu sa na pozícii 4 v $B$5:$B$9 rozsah.

A,

  • INDEX($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) sa stáva

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

-> Výstup: utorok 7. decembra 2021

Vysvetlenie: Stránka INDEX Funkcia prijíma dva argumenty na vrátenie konkrétnej hodnoty v jednorozmernom rozsahu. $C$5:$C$9 je najprv argument a výsledok, ktorý sme mali z výpočtu v predchádzajúcej časti (MATCH(F5,$C$5:$C$9,1)) , pozícia 4 , je druhý argument. To znamená, že hľadáme hodnotu nachádzajúcu sa na pozícii 4 v $C$5:$C$9 rozsah.

Aby sme získali dátum blížiacej sa udalosti, pridali sme k pozícii bunky vrátenej funkciou MATCH a tá nám poskytla pozíciu bunky s dátumom nasledujúcej udalosti.

Prečítajte si viac: Vzorec Excel INDEX-MATCH na vrátenie viacerých hodnôt horizontálne

Podobné čítania

  • INDEX MATCH Viaceré kritériá so zástupným znakom v programe Excel (kompletný sprievodca)
  • [Opravené!] INDEX MATCH nevracia správnu hodnotu v programe Excel (5 dôvodov)
  • Ako používať INDEX MATCH namiesto VLOOKUP v programe Excel (3 spôsoby)
  • INDEX+MATCH s duplicitnými hodnotami v programe Excel (3 rýchle metódy)
  • Ako vybrať konkrétne údaje v programe Excel (6 metód)

3. Generovanie viacerých výsledkov do samostatných stĺpcov pomocou vzorca INDEX MATCH v programe Excel

Doteraz sme získavali výsledky po riadkoch. Ale čo ak chcete získať výsledky v samostatné stĺpce .

Uvažujme nasledujúci súbor údajov, ktorý pozostáva z troch typov povolaní reprezentujúcich viacero mien osôb.

Chceli sme vytvoriť skupinu ľudí na základe profesie a chceli sme umiestniť mená podľa stĺpcov podľa svojej profesie.

Ak chcete extrahovať viacero výsledkov zhody do samostatných buniek v samostatných stĺpcoch, môžete urobiť malý trik s príkazom INDEX funkcie.

Naučme sa, ako extrahovať viacero výsledkov zhody vo viacerých stĺpcoch v programe Excel pomocou kombinácie INDEX funkcie a iné.

Kroky:

  • Vyberte profesiu z rozsahu údajov ( B5:B11 ) a vložte údaje do inej bunky, aby ste neskôr mohli použiť referenčné číslo bunky (napr. profesia Kriketový hráč na stránke Bunka E5 ).
  • V inej bunke, ktorú chcete použiť ako výslednú bunku (napr. Bunka F5 ), napíšte nasledujúci vzorec,
=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))),"")

Tu,

$C$5:$C$11 = pole na vyhľadávanie hodnoty vyhľadávania

$B$5:$B$11 = pole, v ktorom je hodnota vyhľadávania

  • Tlač Vstúpte na stránku .

Všimnite si, že výsledok pre údaje (napr. Kriketári ), ktoré ste vložili do vybranej bunky ( E5 ), sa zobrazí v bunke výsledku (napr. Flintoff na stránke Bunka F5 ).

  • Teraz potiahnite riadok po Rukoväť náplne získať ostatné výsledky tej istej hodnoty vyhľadávania v samostatných viacnásobných stĺpcoch.

  • Opäť potiahnite riadok dookola pomocou Rukoväť náplne získať ostatné výsledky rôznych vyhľadávacích hodnôt (napr. Futbalista, Zápasníci ) v samostatných viacnásobných stĺpcoch.

Rozdelenie vzorca:

Rozoberme si vzorec, aby sme pochopili, ako sme dostali výsledok.

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

Z predchádzajúcej diskusie už vieme, ako MALÉ, AK a ROW funkcie spolupracujú a tento trik používame aj tu na generovanie čísla riadku zodpovedajúceho N-tej zhode. Keď máme číslo riadku, jednoducho ho odovzdáme do funkcie INDEX funkcia, ktorá vráti hodnotu v danom riadku.

-> Výstup: ( ako na obrázku nižšie )

  • 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))) -> odovzdanie čísel riadkov do INDEX na získanie hodnoty pre príslušné čísla riadkov.

-> Výstup: ( ako na obrázku nižšie )

  • 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))),"") -> všimnite si, že keď stĺpce vrátia hodnotu, ktorá neexistuje, vyhodí to #NUM Aby sme predišli chybe, celý vzorec obalíme funkcia IFERROR zachytiť chyby a nastaviť prázdny reťazec ("") ako návratnosť.

-> Výstup: ( ako na obrázku nižšie )

Prečítajte si viac: Excel INDEX MATCH na vrátenie viacerých hodnôt v jednej bunke

4. Výpis viacerých výsledkov do samostatných riadkov pomocou funkcie INDEX MATCH v programe Excel

Ak vás zaujíma, ako extrahovať viacero výsledkov do viacerých riadkov rovnakým spôsobom, ako sme to urobili v predchádzajúcej časti, potom vzorec je,

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

A všetky ostatné podrobnosti, ako sú kroky a rozdelenie vzorca, sú rovnaké ako v časti 3.

Kľúčové body, ktoré musíte mať na pamäti

  • Keďže rozsah poľa dátovej tabuľky na hľadanie hodnoty je pevne stanovený, nezabudnite vložiť dolár ($) znak pred referenčným číslom bunky tabuľky poľa.
  • Pri práci s hodnotami poľa nezabudnite stlačiť Ctrl + Shift + Enter na klávesnici počas extrakcie výsledkov. Stlačením iba Vstúpte na stránku bude fungovať len vtedy, keď používate Microsoft 365 .
  • Po stlačení Ctrl + Shift + Enter , si všimnete, že v paneli vzorcov je vzorec kučeravé zátvorky {} , čím ho deklarujete ako vzorec poľa. Nepíšte tieto zátvorky {} sami, Excel to urobí automaticky za vás.

Záver

V tomto článku je podrobne vysvetlené, ako používať INDEX MATCH funkcie na extrakciu viacerých výsledkov v programe Excel. Dúfam, že tento článok bol pre vás veľmi prínosný. Ak máte akékoľvek otázky týkajúce sa tejto témy, neváhajte sa opýtať.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.