Jak použít vzorec INDEX-MATCH v aplikaci Excel pro generování více výsledků

  • Sdílet Toto
Hugh West

Při práci s velkým množstvím dat dochází k vytváření více výsledků. V Excelu existuje velmi pohodlný způsob, jak získat více výsledků. V tomto článku vám ukážeme, jak použít příkaz INDEX-MATCH vzorec v aplikaci Excel, abyste mohli vygenerovat více výsledků.

Stáhnout šablonu pro praxi

Zde si můžete stáhnout bezplatnou cvičnou šablonu Excelu a procvičovat se sami.

INDEX MATCH Multiple Results.xlsx

4 užitečné způsoby implementace funkcí INDEX & MATCH společně v aplikaci Excel pro získání více výsledků

V této části bude podrobně rozebráno využití funkce INDEX a funkce MATCH dohromady v aplikaci Excel, abyste získali více výsledků.

1. Hledání více výsledků v poli pomocí vzorce INDEX MATCH v aplikaci Excel

Uvažujme následující soubor dat, kde jsme chtěli zjistit rozdílné známky studentů z různých zkoušek.

To můžeme získat spuštěním příkazu INDEX-MATCH vzorec v našem pracovním listu.

Kroky k nalezení vícenásobných výsledků v množině pole pomocí INDEX-MATCH funkce jsou uvedeny níže.

Kroky:

  • Zvolte název ze sady dat ( B5:B11 ) a vložte název do jiné buňky, abyste později mohli použít referenční číslo buňky (např. název Villiers na adrese Buňka G4 ).
  • V jiné buňce, kterou chcete použít jako výslednou buňku (např. Buňka G7 ), napište následující 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))))

Zde,

$C$5:$C$11 = pole pro vyhledání hodnoty vyhledávání

$B$5:$B$11 = pole, ve kterém je hodnota vyhledávání

  • Tisk Vstupte na .

Všimněte si, že výsledek pro data (např. Villiers ), které vložíte do vybrané buňky ( G4 ), se objeví ve výsledné buňce (např. 65 na adrese G7 ).

  • Nyní přetáhněte řádek dolů o Plnicí rukojeť a získáte ostatní výsledky stejné hodnoty vyhledávání.

Protože tento proces není konstantní pro žádnou konkrétní hodnotu, můžete ve vybrané buňce vybrat libovolný vyhledávací údaj (např. G4 ) a výsledek pro daný údaj se automaticky aktualizuje v buňce výsledku (např. G7 ).

Více informací naleznete na níže uvedeném gifu.

Rozdělení vzorců:

Rozebereme si vzorec, abychom pochopili, jak jsme k výsledku došli.

  • MATCH($B$5:$B$11, $G$4, 0) se stává,

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

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

Vysvětlení: Pokud hledaná hodnota najde shodu v poli vyhledávání, pak se v poli MATCH funkce vrací 1 , v opačném případě vrací #N/A .

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

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

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

Vysvětlení: Jako funkce IF nedokáže zpracovat chybové hodnoty, takže funkce ISNUMBER se zde používá k převodu hodnot pole na logické hodnoty.

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

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

se stává

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

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

Vysvětlení: Za prvé, IF Funkce převádí logické hodnoty na čísla řádků a prázdná místa. Později se funkce MATCH a funkce ROW s vypočítá pole s po sobě jdoucími čísly od 1 do n, kde n je poslední číselná identita celkové velikosti rozsahu buněk. Jako $B$5:$B$11 má 7 hodnot, takže pole se změní na {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))) se stává

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

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

-> Výstup: 4

Vysvětlení: Za prvé, funkce SMALL určuje, kterou hodnotu má získat na základě čísla řádku. Řádky Funkce vrací číslo, které se změní pokaždé, když se buňka zkopíruje a vloží do buněk pod ní. Původně vracela číslo 4 podle našeho souboru dat. V další buňce níže, ROWS($A$1:A1) změny na ROWS($A$1:A2) a vrací 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))) se stává

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

-> Výkon: 65

Vysvětlení: Na stránkách INDEX vrátí hodnotu z daného pole na základě čísla řádku a sloupce. 4. hodnotu v poli $C$5:$C$11 je 65 , takže INDEX funkce vrací 65 v buňce G7 .

Přečtěte si více: IF s INDEX-MATCH v Excelu (3 vhodné přístupy)

2. Vyhledání více výsledků názvu nadcházející události & Datum pomocí vzorce INDEX MATCH v aplikaci Excel

Někdy zapomínáme na datum důležitých událostí. V takovém případě je třeba. INDEX MATCH funkce pracují jako záchranáři.

Níže jsou uvedena ukázková data, kde jsme chtěli zjistit nadcházející narozeniny mezi našimi přáteli.

Udělali jsme to tak, že jsme zavedli INDEX MATCH vzorec, abyste zjistili, kdo a kdy má příště narozeniny.

Vzorec pro zjištění jména osoby nebo názvu nadcházející události je tedy následující,

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

A vzorec pro zjištění data nadcházející události je,

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

Rozdělení vzorců:

Rozebereme si vzorec, abychom pochopili, jak jsme zjistili jméno Alex a datum jeho narozenin.

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

-> Výstup: 4

Vysvětlení: Na stránkách MATCH Funkce zjistí pozici vyhledávací hodnoty ( Buňka F5 = Čtvrtek, 11. listopadu 2021 ) v konstantě pole ( $C$5:$C$9 = seznam termínů ).

V tomto příkladu jsme nechtěli přesnou shodu, ale chtěli jsme, aby MATCH vrátit přibližnou shodu, takže třetí argument nastavíme na hodnotu 1 (nebo TRUE ).

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

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

-> Výstup: Alex /(Název události)

Vysvětlení: Na stránkách INDEX Funkce přijímá dva argumenty a vrací určitou hodnotu v jednorozměrném rozsahu. $B$5:$B$9 je nejprve argument a výsledek, který jsme měli z výpočtu v předchozí části. (MATCH(F5,$C$5:$C$9,1)) , pozice 4 To znamená, že hledáme hodnotu umístěnou na pozici 4 v $B$5:$B$9 rozsah.

A,

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

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

-> Výstup: úterý 7. prosince 2021

Vysvětlení: Na stránkách INDEX Funkce přijímá dva argumenty a vrací určitou hodnotu v jednorozměrném rozsahu. $C$5:$C$9 je nejprve argument a výsledek, který jsme měli z výpočtu v předchozí části. (MATCH(F5,$C$5:$C$9,1)) , pozice 4 To znamená, že hledáme hodnotu umístěnou na pozici 4 v $C$5:$C$9 rozsah.

Abychom získali datum nadcházející události, přidali jsme jedničku k pozici buňky vrácené příkazem MATCH a ta nám poskytla pozici buňky s datem příští události.

Přečtěte si více: Vzorec INDEX-MATCH aplikace Excel pro horizontální vrácení více hodnot

Podobná čtení

  • INDEXOVÁ MATICE více kritérií se zástupným znakem v aplikaci Excel (kompletní průvodce)
  • [Opraveno!] INDEX MATCH nevrací správnou hodnotu v aplikaci Excel (5 důvodů)
  • Jak používat INDEX MATCH místo VLOOKUP v aplikaci Excel (3 způsoby)
  • INDEX+MATCH s duplicitními hodnotami v aplikaci Excel (3 rychlé metody)
  • Jak vybrat konkrétní data v aplikaci Excel (6 metod)

3. Generování více výsledků do samostatných sloupců pomocí vzorce INDEX MATCH v aplikaci Excel

Dosud jsme získávali výsledky po řádcích. Ale co když chcete získat výsledky v řádcích? samostatné sloupce .

Uvažujme následující soubor dat, který se skládá ze tří typů profesí reprezentujících více jmen osob.

Chtěli jsme vytvořit skupinu lidí na základě profese a chtěli jsme umístit jména. ve sloupci podle své profese.

Chcete-li extrahovat více výsledků shody do samostatných buněk v samostatných sloupcích, můžete použít malý trik s příkazem INDEX funkce.

Naučme se, jak v aplikaci Excel extrahovat více výsledků shody ve více sloupcích pomocí kombinace těchto postupů. INDEX funkce a další.

Kroky:

  • Zvolte profesi z datového rozsahu ( B5:B11 ) a vložte data do jiné buňky, abyste později mohli použít referenční číslo buňky (např. profese Cricketer na adrese Buňka E5 ).
  • V jiné buňce, kterou chcete použít jako výslednou buňku (např. Buňka F5 ), napište následující 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))),"")

Zde,

$C$5:$C$11 = pole pro vyhledání hodnoty vyhledávání

$B$5:$B$11 = pole, ve kterém je hodnota vyhledávání

  • Tisk Vstupte na .

Všimněte si, že výsledek pro data (např. Cricketers ), které vložíte do vybrané buňky ( E5 ), se objeví ve výsledné buňce (např. Flintoff na adrese Buňka F5 ).

  • Nyní přetáhněte řádek o Plnicí rukojeť získat ostatní výsledky stejné hodnoty vyhledávání v samostatných vícenásobných sloupcích.

  • Opět přetáhněte řádek pomocí Plnicí rukojeť pro získání ostatních výsledků různých hodnot vyhledávání (např. Fotbalista, Zápasníci ) v oddělených vícenásobných sloupcích.

Rozdělení vzorců:

Rozebereme si vzorec, abychom pochopili, jak jsme k výsledku došli.

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

Z předchozí diskuse již víme, jak MALÉ, POKUD a ROW a tento trik používáme i zde pro generování čísla řádku odpovídajícího N-té shodě. Jakmile máme číslo řádku, jednoduše ho předáme do funkce INDEX funkce, která vrátí hodnotu na daném řádku.

-> Výstup: ( jako na obrázku níže )

  • 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))) -> předání čísel řádků do funkce INDEX funkce pro získání hodnoty pro odpovídající čísla řádků.

-> Výstup: ( jako na obrázku níže )

  • 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šimněte si, že když sloupce vrátí hodnotu, která neexistuje, vyhodí to chybu. #NUM Abychom této chybě zabránili, obalíme celý vzorec příkazem funkce IFERROR zachytit chyby a nastavit prázdný řetězec ("") jako návratnost.

-> Výstup: ( jako na obrázku níže )

Přečtěte si více: INDEX MATCH aplikace Excel pro vrácení více hodnot v jedné buňce

4. Výpis více výsledků do samostatných řádků pomocí funkce INDEX MATCH v aplikaci Excel

Pokud vás zajímá, jak extrahovat více výsledků do více řádků stejným způsobem, jako jsme to udělali v předchozí části, pak je vzorec následující,

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

Všechny ostatní údaje, jako jsou kroky a rozdělení vzorců, jsou stejné jako v části 3.

Klíčové body, které je třeba mít na paměti

  • Protože rozsah pole datové tabulky pro hledání hodnoty je pevně daný, nezapomeňte do pole vložit příkaz dolar ($) před referenčním číslem buňky tabulky pole.
  • Při práci s hodnotami pole nezapomeňte stisknout tlačítko Ctrl + Shift + Enter na klávesnici během extrakce výsledků. Stisknutím pouze Vstupte na bude fungovat pouze při použití Microsoft 365 .
  • Po stisknutí Ctrl + Shift + Enter , všimnete si, že v pruhu vzorců je vzorec uzavřen v položce kudrnaté závorky {} a deklaruje ji jako vzorec pole. Nepište tyto vzorce. závorky {} sami, Excel to udělá automaticky za vás.

Závěr

V tomto článku je podrobně vysvětleno, jak používat INDEX MATCH Funkce pro extrakci více výsledků v Excelu. Doufám, že pro vás byl tento článek velmi přínosný. Pokud máte k tématu nějaké dotazy, neváhejte se zeptat.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.