Obsah
V tomto článku vám ukážu jak můžete použít IF s INDEX-MATCH v aplikaci Excel. Na stránkách funkce IF, funkce INDEX, a Funkce MATCH jsou tři velmi důležité a hojně používané funkce Excelu. Při práci v Excelu musíme často používat kombinaci těchto tří funkcí. Dnes vám ukážu, jak můžete tyto funkce kombinovat poměrně komplexně všemi možnými způsoby.
Stáhnout cvičebnici
IF s INDEX-MATCH.xlsx3 přístupy k použití IF s INDEX-MATCH v aplikaci Excel
Zde máme datovou sadu se znakem Jména některých studentů a jejich Marks na adrese Fyzika a Chemie školy s názvem Sunflower Kindergarten.
Zkusme zkombinovat Funkce IF , Funkce INDEX a Funkce MATCH všemi možnými způsoby z tohoto souboru dat.
1. Zabalte funkci INDEX-MATCH do funkce IF a použijte IF s INDEX-MATCH v aplikaci Excel
Můžete zabalit Vzorec INDEX-MATCH v rámci Funkce IF pokud je to nutné.
Představme si například, že se vedení školy rozhodlo zjistit žáka s nejmenším počtem bodů z fyziky.
To však pouze v případě, že nejmenší číslo v oboru Fyzika je menší než 40.
Pokud tomu tak není, není třeba studenta zjišťovat a zobrazí se. "Ne student" .
⧪ Jak toho může školský úřad dosáhnout?
Snadno. Mohou zabalit INDEX-MATCH vzorec v rámci Funkce IF jako je tento vzorec:
=IF(MIN(C4:C13)<40,INDEX(B4:D13,MATCH(MIN(C4:C13),C4:C13,0),1), "Žádný student")
Vidíte, že nejmenší číslo ve fyzice je menší než 40 ( 20 v tomto případě), jsme našli studenta s nejmenším počtem.
To je Alfred Moyes.
⧪ Vysvětlení vzorce:
- MIN(C4:C13) vrací nejmenší hodnotu ve sloupci C4:C13 ( Známky z fyziky ). V tomto příkladu je to 20 . Viz Funkce MIN podrobnosti.
- Vzorec tedy zní IF(20<40,INDEX(B4:D13,MATCH(20,C4:C13,0),1), "Žádný student") .
- Vzhledem k tomu, že podmínka v rámci Funkce IF ( 20<40 ) je TRUE , vrátí první argument, INDEX(B4:D13,MATCH(20,C4:C13,0),1) .
- MATCH(20,C4:C13,0) hledá přesnou shodu 20 ve sloupci C4:C13 (známky z fyziky) a najde ho v 4. řádek (V buňce C7 ). Vrací tedy 4 .
- Nyní je vzorec následující INDEX(B4:D13,4,1) . Vrací hodnotu z 4. řádek a 1. sloupec rozsahu B4:D13 (Soubor dat s výjimkou Záhlaví sloupců ).
- To je jméno žáka s nejmenším počtem bodů v tabulce Fyzika A je to Alfred Moyes.
⧪ Další úkoly k dokončení:
Pokud tomuto vzorci rozumíte, můžete mi říct vzorec, podle kterého zjistíte studenta s nejvyšším číslem z chemie?
To platí pouze v případě, že nejvyšší číslo je větší nebo rovno 80. Pokud tomu tak není, vrátí se zpráva "Žádný student".
Ano, uhodli jste správně, vzorec bude následující:
=IF(MAX(D4:D13)>=80,INDEX(B4:D13,MATCH(MAX(D4:D13),D4:D13,0),1), "Žádný student")
Vidíte, že nejvyšší známky v chemii jsou vyšší než 80 ( 95 v tomto příkladu) jsme získali studenta s nejlepším hodnocením z chemie.
Paradoxně je to opět Alfred Moyes.
Přečtěte si více: INDEX MATCH aplikace Excel pro vrácení více hodnot v jedné buňce
2. Použití funkce IF v rámci funkce INDEX pro použití IF s INDEX-MATCH v aplikaci Excel
Můžeme také použít Funkce IF v rámci Funkce INDEX v případě potřeby někde.
Podívejte se na následující obrázek. Tentokrát máme záznam o vyšetření (Pouze Fyzika ) žáků dvou různých tříd mateřské školy Slunečnice.
Nyní máme buňku H9 v pracovním listu, který obsahuje VII .
Chceme odvodit vzorec, který ukáže žáka s nejvyšším počtem bodů ze všech žáků. Třída VII v sousední buňce, pokud H9 obsahuje VII .
A pokud obsahuje VIII , vzorec ukáže studenta s nejvyšším počtem bodů z Třída VIII .
⧪ Jak to provést?
Můžete vložit Funkce IF uvnitř Funkce INDEX k provedení úkolu. Vzorec bude následující:
=INDEX(IF(H9="VII",B6:C15,E6:F15),IF(H9="VII",MATCH(MAX(C6:C15),C6:C15,1),MATCH(MAX(F6:F15),F6:F15,1)),1)
Podívejte se, jak je VII v buňce H9 , získáváme studenta s nejvyšším počtem bodů z Třída VII .
To je Steve Smith se známkami 98.
A pokud vstoupíme VIII tam získáme studenta s nejvyšším počtem bodů z Třída VIII .
Bude to Paul Kennington.
⧪ Vysvětlení vzorce:
- IF(H9=”VII”,B6:C15,E6:F15) vrací B6:C15 pokud buňka H9 obsahuje "VII" . V opačném případě vrací E6:F15.
- Podobně, IF(H9="VII",MATCH(MAX(C6:C15),C6:C15,1),MATCH(MAX(F6:F15),F6:F15,1)) vrací MATCH(MAX(C6:C15),C6:C15,1) pokud H9 obsahuje "VII" . V opačném případě vrací MATCH(MAX(F6:F15),F6:F15,1) .
- Proto, když H9 obsahuje "VII" , je vzorec následující INDEX(B6:C15,MATCH(MAX(C6:C15),C6:C15,1),1) .
- MAX(C6:C15) vrátí nejvyšší známky z rozsahu C6:C15 ( Marks z Třída VII ). Je to 98 zde. Podívejte se na Funkce MAX podrobnosti.
- Vzorec tedy zní INDEX(B6:C15,MATCH(98,C6:C15,1),1) .
- MATCH(98,C6:C15,1) hledá přesnou shodu 98 ve sloupci C6:C15. Najde ho v 8. řádku, v buňce C13 . Takže se vrátí 8 .
- Vzorec nyní zní INDEX(B6:C15,8,1) . Vrací hodnotu z 8. řádek a 1. sloupec datového souboru B6:C15.
- Jedná se o studenta s nejvyšším počtem bodů v Třída VII , Steve Smith.
Podobná čtení
- Funkce INDEX a MATCH aplikace Excel s více kritérii (4 vzorce)
- Vzorec INDEX-MATCH pro vyhledání minimální hodnoty v aplikaci Excel (4 vhodné způsoby)
- INDEX, MATCH a MAX s více kritérii v aplikaci Excel
- XLOOKUP vs INDEX-MATCH v aplikaci Excel (všechna možná srovnání)
- Shoda indexu s více kritérii v řádcích a sloupcích v aplikaci Excel
3. Použití funkce IF v rámci funkce MATCH pro použití IF s INDEX-MATCH v aplikaci Excel
Můžete také použít Funkce IF v rámci Funkce MATCH v případě potřeby.
Vraťme se k našemu původnímu souboru dat s Marks z Fyzika a Chemie žáků mateřské školy Sunflower.
Nyní provedeme další odlišný úkol.
V buňce F4 pracovního listu je uveden název předmětu. "Fyzika" .
Odvodíme vzorec, který ukáže žáka s nejvyšším počtem bodů v testu. Fyzika v sousední buňce pokud je v položce F4 uvedeno "Physics".
A pokud má "Chemie" , zobrazí se student s nejvyšším počtem bodů v oblasti Chemie .
⧪ Jak to provést?
Snadno. Použijte Funkce IF uvnitř Funkce MATCH , jako je tento vzorec:
=INDEX(B4:D13,MATCH(IF(F7="Fyzika",MAX(C4:C13),MAX(D4:D13)),IF(F7="Fyzika",C4:C13,D4:D13),0),1)
Ukazuje Steva Smithe, protože je nejlépe hodnoceným hráčem v kategorii Fyzika a buňka F7 obsahuje "Fyzika" .
Pokud změníme buňku F7 na "Chemie" , zobrazí Alfreda Moyese, který získal nejvyšší počet bodů v kategorii Chemie .
⧪ Vysvětlení vzorce:
- IF(F7="Fyzika",MAX(C4:C13),MAX(D4:D13)) vrací MAX(C4:C13) pokud F7 obsahuje "Fyzika" . V opačném případě vrací MAX(D4:D13) .
- Podobně, IF(F7="Fyzika",C4:C13,D4:D13) vrací C4:C13 pokud F7 obsahuje "Fyzika" . V opačném případě vrací D4:D13.
- Pokud tedy F7 obsahuje "Fyzika" , je vzorec následující INDEX(B4:D13,MATCH(MAX(C4:C13),C4:C13,0),1) .
- MAX(C4:C13) vrátí nejvyšší známky z rozsahu C4:C13 ( Marks z Fyzika ). Je to 98 zde. Podívejte se na Funkce MAX podrobnosti.
- Vzorec tedy zní INDEX(B4:D13,MATCH(98,C4:C13,1),1) .
- MATCH(98,C4:C13,1) hledá přesnou shodu 98 ve sloupci C4:C13. Najde ho v 8. řádku, v buňce C11 . Takže se vrátí 8 .
- Vzorec nyní zní INDEX(B4:D13,8,1) . Vrací hodnotu z 8. řádek a 1. sloupec datového souboru B4:D13.
- Jedná se o studenta s nejvyšším počtem bodů v Fyzika , Steve Smith.
Na co nezapomenout
- Vždy nastavte 3. argumentu Funkce MATCH na 0 pokud chcete přesnou shodu. Těžko ji nastavíme na něco jiného.
- Existuje několik alternativ k Vzorec INDEX-MATCH , jako např. Funkce FILTR ... Funkce VLOOKUP ... Funkce XLOOKUP, atd.
- Mezi alternativami je Funkce FILTR je nejlepší, protože vrací všechny hodnoty, které odpovídají kritériím. Je však k dispozici v aplikaci Office 365 pouze.
Závěr
Pomocí těchto metod můžete použít Funkce IF s Funkce INDEX-MATCH Znáte nějakou jinou metodu? Nebo máme nějaké dotazy? Neváhejte se nás zeptat.