Obsah
Při práci v Excelu to máme dělat často. Máme vyhledat konkrétní hodnotu v souboru dat, která splňuje jedno nebo více kritérií. Dnes vám ukážu, jak můžete v Excelu vyhledat jednu nebo více hodnot, které splňují více kritérií v souboru dat.
Stáhnout cvičebnici
Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.
Vyhledávání s více kritérii.xlsx2 vhodné způsoby vyhledávání s více kritérii v aplikaci Excel
Podívejte se na níže uvedený soubor dat. ID zaměstnanců, jména zaměstnanců, data nástupu, a Platy společnosti s názvem Skupina Jupyter . Budeme vyhledávat hodnoty s více kritérii pomocí příkazu INDEX, MATCH, XLOOKUP, a Funkce FILTR . Zde je přehled datové sady pro náš dnešní úkol.
Nyní se pokusíme z této sady dat vyhledat hodnoty, které splňují různé typy vícenásobných kritérií.
Metoda 1: Vyhledání více kritérií typu AND
Nejdříve se pokusíme vyhledat několik kritérií. A typ. Zde, A typu více kritérií znamená, že jedna hodnota musí splňovat všechna kritéria, aby byla vybrána. Zkusme najít zaměstnance s hodnotou ID větší než 400 a plat vyšší než $40000 . Úkol můžete splnit v 3 různými způsoby.
1.1 Kombinace funkcí INDEX a MATCH v řádcích a sloupcích
Než přejdete k hlavnímu bodu, můžete se podívat na. INDEX a MATCH funkce Excelu. Zjistíme zaměstnance s ID větší než 400 a plat vyšší než $40000 pomocí INDEX-MATCH Postupujme podle níže uvedených pokynů:
Kroky:
- Nejprve vyberte buňku G7 a zapište následující vzorec.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)
- Poté stiskněte tlačítko Vstupte na na klávesnici. V důsledku toho jsme našli zaměstnance s ID větší než 400 a plat vyšší než $40000 , Richard Samuelson .
- B5:B16>400 prochází všechny ID ve sloupci B a vrací pole TRUE a FALSE , TRUE když se ID je větší než 400 , jinak FALSE .
- E5:E16>40000 prochází všechny platy ve sloupci E a vrací pole TRUE a FALSE , TRUE když je plat vyšší než $40,000 , jinak FALEŠNÉ.
- (B5:B16>400)*(E5:E16>40000) vynásobí dvě pole TRUE a FALSE a vrací hodnotu 1 když ID je větší než 400 a plat je vyšší než $40,000 . Jinak se vrátí 0 .
- MATCH(1,(B5:B16>400)*(E5:E16>40000),0) prochází polem (B5:B16>400)*(E5:E16>40000) a vrátí sériové číslo prvního 1 se kterým se setká.
- V tomto případě vrátí 5, protože první 1 je v pořadovém čísle 5.
- Nakonec, INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1) vrátí jméno zaměstnance z rozsahu C5:C16 , přičemž číslo řádku se rovná výstupu funkce MATCH a číslo sloupce se rovná 1 .
- Jedná se o požadovaného zaměstnance s ID větší než 400 a plat vyšší než $40,000 Pokud tomu rozumíte, můžete mi říct vzorec pro zjištění zaměstnance, který nastoupil do pracovního poměru? do 31. prosince 2009 , ale stále pobírá plat méně než 25 000 USD .
- Poté zadejte do buňky následující vzorec G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16
- Proto zasáhněte Vstupte na . Dále získáte Angela Hopkins jako návratnost vzorce.
Přečtěte si více: 7 typů vyhledávání, které můžete použít v aplikaci Excel
1.2 Použití funkce XLOOKUP
Předchozí úkol můžeme provést pomocí příkazu XLOOKUP funkce Excelu. Ale nezapomeňte, XLOOKUP je k dispozici pouze v Office 365 . Než přejdete k hlavnímu bodu, můžete se podívat na XLOOKUP Nyní zjistíme zaměstnance, který má v Excelu ID větší než 400 a plat vyšší než $40,000 pomocí XLOOKUP funkce. Postupujme podle níže uvedených pokynů a naučme se to!
Kroky:
- Nejprve zadejte do buňky následující vzorec G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)
- Výsledkem je stejný zaměstnanec jako dříve, Richard Samuelson Jedná se o jméno zaměstnance s ID větší než 400 a plat vyšší než $40,000 .
- (B5:B16>400)*(E5:E16>40000) vrací pole 1 a 0 , 1 když ID je větší než 400 a plat je vyšší než $40,000 . 0 v opačném případě.
- XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) nejprve hledá v poli 1 (B5:B16>400)*(E5:E16>40000). Když nějakou najde, vrátí hodnotu z její sousední buňky v rozsahu C5:C16 .
Přečtěte si více: Jak používat funkci LOOKUP v aplikaci Excel (4 vhodné příklady)
1.3 Použití funkce FILTR
Na stránkách INDEX-MATCH a XLOOKUP mají jedno omezení. Pokud zadaným kritériím vyhovuje více hodnot, vrátí pouze první hodnotu. Například v předchozím příkladu, pokud se podíváte pozorně, zjistíte, že existují dva zaměstnanci s ID větší než 400 a plat vyšší než $40,000 .They jsou Richard Samuelson a Usman Malik. Ale INDEX-MATCH a XLOOKUP vzorce vracejí pouze první zaměstnanec, Richard Samuelson . Chcete-li získat všechny hodnoty, které splňují zadaná kritéria, můžete použít příkaz FILTR funkce Excelu. Ale nezapomeňte, že FILTR je také k dispozici pouze v Office 365 .
Kroky:
- Zjistit zaměstnance s ID větší než 400 a plat vyšší než $40,000 na FILTR vzorec bude:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))
- Poté jsme získali všechny zaměstnance, kteří splňují všechna kritéria, Richard Samuelson a Usman Malik .
- (B5:B16>400)*(E5:E16>40000) vrací pole 1 a 0 , 1 pokud je ID vyšší než 400 a plat vyšší než 40 000 USD. 0 jinak (viz INDEX-MATCH sekce).
- FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000)) prochází všechny hodnoty v poli (B5:B16>400)*(E5:E16>40000), a když najde 1 , vrátí sousední hodnotu z rozsahu C5:C16 .
- Takto získáme všechny zaměstnance s ID větší než 400 a plat vyšší než $40,000 .
- Pokud tomu rozumíte, můžete mi říct vzorec pro zjištění zaměstnanců, kteří nastoupili v období mezi 1. a 2. zářím 2011? 1. ledna 2014, a 31. prosince 2016 , ale dostával plat ve výši nejméně 30 000 USD ? Ano, máš pravdu, vzorec bude následující:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))
Přečtěte si více: Jak vyhledat více hodnot v aplikaci Excel (10 způsobů)
Metoda 2: Vyhledání více kritérií typu OR
Nyní se pokusíme vyhledat některé hodnoty, které splňují více kritérií. NEBO typ. Zde, NEBO typu kritéria znamená, že jedna hodnota musí splňovat alespoň jedno kritérium ze všech kritérií, aby mohla být vybrána. Zkusme zjistit zaměstnance, který nastoupil dříve než 1. ledna 2010 nebo pobírá plat vyšší než $30,000 .
2.1 Sloučení funkcí INDEX a MATCH v rozsahu dat
Klikněte zde a navštivte INDEX a klikněte zde pro návštěvu MATCH před pokračováním, pokud si to přejete.
Kroky:
- Na stránkách INDEX-MATCH vzorec bude vypadat tak, jak je uvedeno v následujícím rámečku se vzorcem.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)
- Podívejte, máme Jack Simpson , první zaměstnanec s datem nástupu před 1. lednem 2010 , nebo plat vyšší než 30 000 USD . Ale zaměstnanců je mnohem více. INDEX-MATCH, dostaneme pouze první z nich.
- Všechny zaměstnance dáme dohromady později pomocí funkce FILTR později. Jedná se o požadovaného zaměstnance, který splňuje alespoň jedno kritérium.
- D5:D16
="" strong=""> vrací pole TRUE a FALSE . TRUE když datum připojení ve sloupci D je nižší než 1. ledna 2010. FALSE v opačném případě. - E5:E16>30000 také vrací pole TRUE a FALSE . TRUE pokud je plat vyšší než 30 000 USD. FALSE v opačném případě.
- (D5:D1630000) sečte obě pole a vrátí další pole typu 0, 1, nebo 2 . 0 pokud není splněno žádné kritérium, 1 když je splněno pouze jedno kritérium a 2 pokud jsou splněna obě kritéria.
- ((D5:D1630000))>0 prochází všechny hodnoty pole (D5:D1630000) a vrací TRUE pokud je hodnota větší než 0 ( 1 a 2 ) a FALSE jinak ( 0 ).
- MATCH(TRUE,((D5:D1630000))>0,0) prochází všechny hodnoty v poli ((D5:D1630000))>0 a vrátí první sériové číslo, u kterého získá hodnotu TRUE .
- V tomto případě se vrací 3 protože první TRUE je v sériovém provedení 3 .
- Nakonec, INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1) vrátí jméno zaměstnance z rozsahu C5:C16 s pořadovým číslem vráceným MATCH funkce.
Pokud tomu rozumíte, můžete mi říct vzorec, podle kterého zjistíte zaměstnance s hodnotou ID méně než 300, nebo datum nástupu kratší než leden 1, 2012, nebo plat vyšší než $30,000 ?
Ano, máte pravdu. Vzorec bude následující:
=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)
Přečtěte si více: Jak vyhledávat text v aplikaci Excel (7 vhodných metod)
2.2 Použití funkce XLOOKUP
Stejného úkolu můžete dosáhnout pomocí XLOOKUP v aplikaci Excel. XLOOKUP je k dispozici pouze v Office 365 .
Kroky:
- Vzorec pro vyhledání zaměstnance s datem nástupu před lednem 1, 2010, nebo plat vyšší než $30,000 bude:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)
- Podívejte se, máme stejného zaměstnance jako dříve, Jack Simpson . Ale stejně jako u INDEX-MATCH formule, daná kritéria splňuje více zaměstnanců. My jsme získali pouze první z nich.
- ((D5:D1630000))>0 vrací TRUE pokud je splněno alespoň jedno ze dvou kritérií, jinak FALSE Viz výše uvedený oddíl.
- XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) pak vrátí jméno zaměstnance ze sloupce C5:C16 , kde získá první TRUE .
Přečtěte si více: Jak vyhledat hodnotu z jiného listu v aplikaci Excel (3 snadné metody)
2.3 Použití funkce FILTR
Nakonec provedeme stejný úkol pomocí příkazu FILTR v aplikaci Excel. FILTR je k dispozici pouze v Office 365 . Tentokrát získáme všechny zaměstnance, kteří nastoupili dříve. 1. ledna 2010, nebo pobírali platy vyšší než $30,000 .
Kroky:
- Vzorec bude stejný, jako je zobrazen v níže uvedeném poli vzorce.
=FILTER(C5:C16,((D5:D1630000))>0)
- Vrátí tedy všechny zaměstnance, kteří splňují alespoň jedno ze zadaných kritérií.
- Tentokrát jsme získali všechny zaměstnance, kteří splňují zadaná kritéria, datum nástupu před 1. ledna 2010, nebo plat vyšší než $30,000 .
- ((D5:D1630000))>0 vrací TRUE pokud je splněno alespoň jedno ze dvou kritérií, jinak FALSE . Viz INDEX-MATCH sekce.
- FILTER(C5:C16,((D5:D1630000))>0) projde všechny buňky v rozsahu C5:C16 ale vrací pouze ty, které narazí na TRUE .
Přečtěte si více: Jak vyhledat tabulku v aplikaci Excel (8 metod)
Závěr
Pomocí těchto metod můžete z libovolného souboru dat vyhledat nějakou hodnotu, která splňuje více kritérií. Znáte nějakou další metodu? Nebo máte nějaké dotazy? Neváhejte se nás zeptat.