Jak použít INDEX MATCH s více kritérii pro rozsah dat

  • Sdílet Toto
Hugh West

Veličiny (např. cena komodity, akcie, úroková sazba atd.), které podléhají datům, vyvolávají u lidí paniku, protože jejich ceny závisí na datech. INDEX MATCH vícenásobné kritérium rozsah data může extrahovat ceny z daného rozsahu dat.

Řekněme, že máme určité výrobky, jejichž ceny jsou po určitou dobu stabilní. A chceme INDEX MATCH ceny pro daná kritéria.

V tomto článku používáme více funkcí k tomu, abychom INDEX MATCH rozsah dat pro více kritérií.

Stáhnout sešit aplikace Excel

Rozsah dat podle více kritérií.xlsx

3 snadné způsoby použití INDEX MATCH pro více kritérií rozsahu dat

Metoda 1: Použití funkce INDEX MATCH pro více kritérií rozsahu dat

Chceme zjistit cenu určitého produktu k určitému datu. Předpokládejme, že chceme zjistit cenu produktu. Zmrzlina na adrese 02-10-22 ( měsíc-den-rok ). Pokud dané datum spadá do nabízeného časového období, necháme cenu vypsat do libovolné prázdné buňky.

Kroky: Do libovolné prázdné buňky vložte následující vzorec (tj., I5 ). Jako vzorec ve vzorci pole stiskněte tlačítko CTRL+SHIFT+ENTER okamžitě vrátí vzorec. Produkt cena, pokud v daném časovém období klesne (tj, Datum ), jak je znázorněno níže.

=INDEX($E$5:$E$16,MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0))

🔄 Pitva vzorce:

Excel INDEX najde hodnotu daného místa v daném rozsahu. V našem případě použijeme funkci MATCH funkce vyvolaná pomocí INDEX funkce. MATCH funkce předává svůj výsledek jako číslo řádku pro položky, které splňují daná kritéria. Syntaxe příkazu INDEX je funkce

INDEX(array, row_num, [col_num])

Ve vzorci, E$5$E$16 odkazuje na pole argument. Uvnitř MATCH funkce $B$5:$B$16=G5 , $D$5:$D$16>=H5 a $C$5:$C$16<=H5 Pro lepší identifikaci vybarvíme příslušné rozsahy obdélníky.

Na stránkách MATCH vyhledá pozici dané hodnoty v řádku, sloupci nebo tabulce. Jak jsme již uvedli, funkce MATCH předává číslo řádku pro INDEX Syntaxe funkce MATCH je funkce

MATCH (lookup_value, lookup_array, [match_type])

Na stránkách MATCH část je

=MATCH(1,(($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5)),0)

Na stránkách MATCH část přiřazuje 1 jako lookup_value , ($B$5:$B$16=G5)*($D$5:$D$16>=H5)*($C$5:$C$16<=H5) jako lookup_array a 0 prohlašuje, že [match_type] jako přesnou shodu.

Použité MATCH vzorec vrací 3 jakmile najde Zmrzlina v čísle řádku 3 .

V případech, kdy máme k dispozici více produktů, získáme z datového souboru jejich cenu. Vypadá to trochu jako na následujícím obrázku,

Na stránkách INDEX MATCH kombinovaný vzorec získává Ceny v případě, že jeho argumenty splňují kritéria. V opačném případě je výsledkem #N/A chybu, jak je znázorněno na výše uvedeném snímku obrazovky.

Přečtěte si více: VBA INDEX MATCH na základě více kritérií v aplikaci Excel (3 metody)

Metoda 2: Funkce XLOOKUP pro práci s více kritérii

Podobně jako Metoda 1 , můžeme použít XLOOKUP (k dispozici pouze v Excel 365 ) na INDEX MATCH rozsah dat pro více kritérií. Syntaxe příkazu XLOOKUP je funkce

XLOOKUP (lookup, lookup_array, return_array, [not_found], [match_mode], [search_mode])

Kroky: Použijte následující vzorec v buňce I5 pak stiskněte ENTER .

=XLOOKUP(1,(H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5),$E$5:$E$16,"NotFound")

Na stránkách XLOOKUP vzorec vrací respektovanou cenu, která splňuje zadaná kritéria (tj, Produkt a Datum ), jak je znázorněno na obrázku výše.

🔄 Pitva vzorce:

Na stránkách XLOOKUP přiřazuje 1 jako jeho vyhledávání argument, (H5>=$C$5:$C$16)*(H5<=$D$5:$D$16)*($B$5:$B$16=G5) jako lookup_array, $E$5:$E$16 jako return_array . Také vzorec zobrazuje Nenalezeno text v případě, že položky nespadají do rozsahu dat. Přiřazená kritéria označujeme barevnými obdélníky, jak je znázorněno na následujícím obrázku.

Pro vícenásobné Produkty, můžete použít XLOOKUP a vyjmout ceny při splnění zadaných kritérií. Vzorec také zobrazuje Nenalezeno pokud se zadaná kritéria data nerozšíří v daném rozsahu dat.

Můžete přidat více kritérií, než je použito ve vzorci. Aby byly scénáře jednoduché a přehledné, byla použita minimální kritéria.

Přečtěte si více: XLOOKUP s více kritérii v aplikaci Excel (4 snadné způsoby)

Metoda 3: Funkce INDEX a AGGREGATE pro extrakci volatilní ceny z rozsahu dat

Ceny některých produktů (např. ropy, měny apod.) jsou natolik volatilní, že kolísají v řádu týdnů nebo dokonce dnů. Máme k dispozici ceny určitého produktu v týdenním intervalu. Chceme zjistit cenu pro daná data. Pro zjištění ceny pro daný interval dat můžeme použít kombinovanou funkci INDEX GREGÁT Syntaxe funkce GREGÁT je funkce

AGGREGATE (function_num, options, ref1, ref2)

Kroky: Do libovolné prázdné buňky zadejte následující vzorec (tj., E8 ).

=IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/ ((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"")

Na stránkách 1. cena určitého produktu datum 02-15-22 na 02-25-22 je $0.84 . Může existovat 2. nebo 3. cena k dispozici, ale zpočátku jsme se držet 1. jedna.

🔄 Pitva vzorce:

Ve vzorci, =IFERROR(INDEX(C$5:C$13,AGGREGATE(15,6, ROW(B$5:B$13)/ ((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))),"") ;

AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))) část poskytuje číslo řádku INDEX funkce. C$5:C$13 je pole argumentu INDEX funkce.

Uvnitř GREGÁT vzorec,

(B$5:B$13>=F$4)*(B$5:B$13<=F$5) vrací 1 nebo 0 v závislosti na tom, zda data datového souboru spadají do rozsahu, nebo ne.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5)) vrátí pole čísel řádků v závislosti na splnění kritérií data. V opačném případě se zobrazí chybové hodnoty.

ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1 jako ref1 výsledkem je pole čísel řádků převedené na čísla indexů, jinak chybové hodnoty.

ROWS(E$8:E8) jako ref2 výsledkem je číslo řádku a je to snadný způsob, jak získat číslo řádku při použití vzorce směrem dolů.

Počet 15 = function_num (tj, SMALL ), 6 = možnosti (tj, ignorovat chybové hodnoty ). Můžete si vybrat function_num z 19 různé funkce a Možnosti z 8 různé možnosti.

Konečně, AGGREGATE(15,6,ROW(B$5:B$13)/((B$5:B$13>=F$4)*(B$5:B$13<=F$5))-ROW(B$5)+1,ROWS(E$8:E8))) projde n-tý nejmenší indexové číslo řádku, který splňuje zadaná kritéria.

V případě, že dojde k chybě, IFERROR(INDEX...),"") ignoruje všechny typy chyb a přeměňuje je na prázdná místa.

➤ Přetáhněte Plnicí rukojeť pro získání dalších odpovídajících cen v rámci rozsahu dat kritérií. A příkaz IFERROR funkce vede k prázdným buňkám, pokud vzorec narazí na nějakou chybu.

Přečtěte si více: VLOOKUP s více kritérii včetně rozsahu dat v aplikaci Excel (2 způsoby)

Závěr

V tomto článku si ukážeme několik způsobů, jak INDEX MATCH více kritérií. Používáme funkce jako INDEX , MATCH . XLOOKUP a GREGÁT k vytvoření vzorců, které indexují odpovídající položky splňující kritéria. Doufám, že vám tyto výše uvedené způsoby outs pomohou vyřešit vaši situaci. Pokud máte další dotazy nebo chcete něco dodat, vyjádřete se.

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.