Obsah
Pri práci v programe Excel to máme robiť často. Máme vyhľadať konkrétnu hodnotu v súbore údajov, ktorá spĺňa jedno alebo viacero kritérií. Dnes vám ukážem, ako môžete v programe Excel vyhľadať jednu alebo viacero hodnôt, ktoré spĺňajú viacero kritérií v súbore údajov.
Stiahnite si cvičebnicu
Stiahnite si tento cvičebný zošit, aby ste si počas čítania tohto článku precvičili svoje zručnosti.
Vyhľadávanie s viacerými kritériami.xlsx2 vhodné spôsoby vyhľadávania s viacerými kritériami v programe Excel
Pozrite sa na súbor údajov nižšie. ID zamestnancov, mená zamestnancov, dátumy nástupu, a Platy spoločnosti s názvom Skupina Jupyter . Budeme vyhľadávať hodnoty s viacerými kritériami pomocou INDEX, MATCH, XLOOKUP, a Funkcie FILTRA . Tu je prehľad súboru údajov pre našu dnešnú úlohu.
Teraz sa pokúsime vyhľadať hodnoty, ktoré spĺňajú rôzne typy viacnásobných kritérií z tohto súboru údajov.
Metóda 1: Vyhľadávanie viacerých kritérií typu AND
Najskôr sa pokúsime vyhľadať niekoľko kritérií A typ. Tu, A typu viacero kritérií znamená, že jedna hodnota musí spĺňať všetky kritériá, aby bola vybraná. Skúsme nájsť zamestnanca s ID väčšia ako 400 a plat vyšší ako $40000 . Úlohu môžete splniť v 3 rôznymi spôsobmi.
1.1 Kombinácia funkcií INDEX a MATCH v riadkoch a stĺpcoch
Predtým, ako prejdete k hlavnému bodu, môžete sa pozrieť na INDEX a MATCH funkcie programu Excel. Zistíme zamestnanca s ID väčšia ako 400 a plat vyšší ako $40000 pomocou INDEX-MATCH Postupujme podľa nižšie uvedených pokynov:
Kroky:
- Najprv vyberte bunku G7 a zapíšte nasledujúci vzorec.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)
- Potom stlačte tlačidlo Vstúpte na stránku na klávesnici. V dôsledku toho sme našli zamestnanca s ID väčšia ako 400 a plat vyšší ako $40000 , Richard Samuelson .
- B5:B16>400 prechádza všetkými ID v stĺpci B a vráti pole TRUE a FALSE , TRUE keď sa ID je väčšia ako 400 , v opačnom prípade FALSE .
- E5:E16>40000 prechádza všetkými platy v stĺpci E a vráti pole TRUE a FALSE , TRUE ak je plat vyšší ako $40,000 , v opačnom prípade FALSE.
- (B5:B16>400)*(E5:E16>40000) vynásobí dve polia TRUE a FALSE a vráti 1 keď sa ID je väčšia ako 400 a plat je vyšší ako $40,000 . Inak sa vráti 0 .
- MATCH(1,(B5:B16>400)*(E5:E16>40000),0) prechádza cez pole (B5:B16>400)*(E5:E16>40000) a vráti sériové číslo prvého 1 s ktorými sa stretáva.
- V tomto prípade vráti 5, pretože prvá 1 je v poradovom čísle 5.
- Nakoniec, INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1) vráti meno zamestnanca z rozsahu C5:C16 s číslom riadku rovnajúcim sa výstupu MATCH a číslo stĺpca sa rovná 1 .
- Ide o požadovaného zamestnanca s ID väčšia ako 400 a plat vyšší ako $40,000 Ak tomu rozumiete, môžete mi povedať vzorec na zistenie zamestnanca, ktorý nastúpil do 31. decembra 2009 , ale stále dostáva plat menej ako 25 000 USD .
- Potom do bunky zadajte nasledujúci vzorec G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16
- Preto zasiahnite Vstúpte na stránku . Ďalej získate Angela Hopkins ako návratnosť vzorca.
Prečítajte si viac: 7 typov vyhľadávania, ktoré môžete použiť v programe Excel
1.2 Používanie funkcie XLOOKUP
Predchádzajúcu úlohu môžeme vykonať pomocou XLOOKUP funkcie programu Excel. Ale nezabudnite, XLOOKUP je k dispozícii iba v Office 365 Skôr ako prejdete k hlavnému bodu, môžete sa pozrieť na XLOOKUP Teraz zistíme zamestnanca s ID väčšia ako 400 a plat vyšší ako $40,000 pomocou XLOOKUP Postupujme podľa nižšie uvedených pokynov a naučme sa to!
Kroky:
- Najprv zadajte do bunky nasledujúci vzorec G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)
- Výsledkom je rovnaký zamestnanec ako predtým, Richard Samuelson Toto je meno zamestnanca s ID väčšia ako 400 a plat vyšší ako $40,000 .
- (B5:B16>400)*(E5:E16>40000) vráti pole 1 a 0 , 1 keď sa ID je väčšia ako 400 a plat je vyšší ako $40,000 . 0 v opačnom prípade.
- XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) najprv hľadá 1 v poli (B5:B16>400)*(E5:E16>40000). Keď ju nájde, vráti hodnotu zo susednej bunky v rozsahu C5:C16 .
Prečítajte si viac: Ako používať funkciu LOOKUP v programe Excel (4 vhodné príklady)
1.3 Použitie funkcie FILTER
Stránka INDEX-MATCH a XLOOKUP Ak danému kritériu vyhovuje viac ako jedna hodnota, vrátia len prvú hodnotu. Napríklad v predchádzajúcom príklade, ak sa pozriete pozorne, zistíte, že existujú dva zamestnancov s ID väčšia ako 400 a plat vyšší ako $40,000 .They sú Richard Samuelson a Usman Malik. Ale INDEX-MATCH a XLOOKUP vzorce vrátia len prvý zamestnanec, Richard Samuelson Ak chcete získať všetky hodnoty, ktoré spĺňajú dané kritériá, môžete použiť príkaz FILTER funkcie programu Excel. Ale nezabudnite, že FILTER je tiež k dispozícii len v Office 365 .
Kroky:
- Zistiť zamestnancov s ID väčšia ako 400 a plat vyšší ako $40,000 . FILTER vzorec bude:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))
- Potom sme tentoraz získali všetkých zamestnancov, ktorí dodržiavajú všetky kritériá, Richard Samuelson a Usman Malik .
- (B5:B16>400)*(E5:E16>40000) vráti pole 1 a 0 , 1 ak je ID väčšie ako 400 a plat vyšší ako 40 000 USD. 0 v opačnom prípade (pozri INDEX-MATCH časť).
- FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000)) prechádza všetky hodnoty v poli (B5:B16>400)*(E5:E16>40000), a keď nájde 1 , vráti susednú hodnotu z rozsahu C5:C16 .
- Takto získame všetkých zamestnancov s ID väčšia ako 400 a plat vyšší ako $40,000 .
- Ak tomu rozumiete, môžete mi povedať vzorec na zistenie zamestnancov, ktorí nastúpili medzi 1. januára 2014, a 31. decembra 2016 , ale dostával plat vo výške najmenej 30 000 USD ? Áno, máte pravdu. Vzorec bude nasledovný:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))
Prečítajte si viac: Ako vyhľadať viacero hodnôt v programe Excel (10 spôsobov)
Metóda 2: Vyhľadávanie viacerých kritérií typu OR
Teraz sa pokúsime vyhľadať niektoré hodnoty, ktoré spĺňajú viacero kritérií ALEBO typ. Tu, ALEBO typ kritéria znamená, že jedna hodnota musí spĺňať aspoň jedno kritérium zo všetkých kritérií, aby bola vybraná. Skúsme zistiť zamestnanca, ktorý nastúpil pred 1. januára 2010 alebo dostáva plat vyšší ako $30,000 .
2.1 Zlúčenie funkcií INDEX a MATCH v rozsahu dátumov
Kliknutím sem navštívite INDEX a kliknutím sem navštívte MATCH pred pokračovaním, ak si to želáte.
Kroky:
- Stránka INDEX-MATCH vzorec bude taký, ako je znázornené v nasledujúcom poli vzorca.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)
- Vidíte, máme Jack Simpson , prvý zamestnanec s dátumom nástupu pred 1. januárom 2010 alebo plat viac ako 30 000 USD . Ale zamestnancov je oveľa viac. INDEX-MATCH, dostaneme len prvý z nich.
- Všetkých zamestnancov zhromaždíme neskôr pomocou FILTER neskôr. Toto je požadovaný zamestnanec, ktorý spĺňa aspoň jedno kritérium.
- D5:D16
="" strong=""> vráti pole TRUE a FALSE . TRUE keď je dátum pripojenia v stĺpci D je menej ako 1. januára 2010. FALSE v opačnom prípade. - E5:E16>30000 tiež vracia pole TRUE a FALSE . TRUE ak je plat vyšší ako 30 000 USD. FALSE v opačnom prípade.
- (D5:D1630000) sčíta tieto dve polia a vráti ďalšie pole 0, 1, alebo 2 . 0 ak nie je splnené žiadne kritérium, 1 keď je splnené len jedno kritérium a 2 ak sú splnené obe kritériá.
- ((D5:D1630000))>0 prechádza všetky hodnoty poľa (D5:D1630000) a vráti TRUE ak je hodnota väčšia ako 0 ( 1 a 2 ) a FALSE inak ( 0 ).
- MATCH(TRUE,((D5:D1630000))>0,0) prechádza všetky hodnoty v poli ((D5:D1630000))>0 a vráti prvé sériové číslo, pri ktorom získa TRUE .
- V tomto prípade sa vráti 3 pretože prvý TRUE je v sériovej verzii 3 .
- Nakoniec, INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1) vráti meno zamestnanca z rozsahu C5:C16 so sériovým číslom vráteným funkciou MATCH funkcie.
Ak tomu rozumiete, môžete mi povedať vzorec na zistenie zamestnanca s ID menej ako 300, alebo dátum nástupu kratší ako január 1, 2012, alebo plat vyšší ako $30,000 ?
Áno, máte pravdu. Vzorec bude nasledovný:
=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)
Prečítajte si viac: Ako vyhľadávať text v programe Excel (7 vhodných metód)
2.2 Použitie funkcie XLOOKUP
Rovnakú úlohu môžete vykonať pomocou XLOOKUP v programe Excel. XLOOKUP je k dispozícii iba v Office 365 .
Kroky:
- Vzorec na vyhľadanie zamestnanca s dátumom nástupu pred januárom 1, 2010, alebo plat vyšší ako $30,000 bude:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)
- Vidíte, máme rovnakého zamestnanca ako predtým, Jack Simpson . Ale rovnako ako v prípade INDEX-MATCH vzorec, dané kritériá spĺňa viac zamestnancov. My sme získali len prvý z nich.
- ((D5:D1630000))>0 vráti TRUE ak je splnené aspoň jedno z týchto dvoch kritérií, inak FALSE Pozri vyššie uvedenú časť.
- XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) potom vráti meno zamestnanca zo stĺpca C5:C16 , kde získa prvý TRUE .
Prečítajte si viac: Ako vyhľadať hodnotu z iného hárku v programe Excel (3 jednoduché metódy)
2.3 Používanie funkcie FILTER
Nakoniec vykonáme rovnakú úlohu pomocou FILTER v programe Excel. FILTER je k dispozícii iba v Office 365 Tentoraz získame všetkých zamestnancov, ktorí nastúpili pred 1. januára 2010, alebo dostávali platy vyššie ako $30,000 .
Kroky:
- Vzorec bude rovnaký, ako je znázornené v nasledujúcom poli vzorca.
=FILTER(C5:C16,((D5:D1630000))>0)
- Vráti teda všetkých zamestnancov, ktorí spĺňajú aspoň jedno zo zadaných kritérií.
- Tentoraz sme získali všetkých zamestnancov, ktorí spĺňajú naše kritériá, dátum nástupu pred 1. januára 2010, alebo plat vyšší ako $30,000 .
- ((D5:D1630000))>0 vráti TRUE ak je splnené aspoň jedno z týchto dvoch kritérií, inak FALSE . Pozri INDEX-MATCH sekcia.
- FILTER(C5:C16,((D5:D1630000))>0) prechádza všetky bunky v rozsahu C5:C16 ale vráti len tie, ktoré sa stretnú s TRUE .
Prečítajte si viac: Ako vyhľadať tabuľku v programe Excel (8 metód)
Záver
Pomocou týchto metód môžete vyhľadať nejakú hodnotu, ktorá spĺňa viacero kritérií, z ľubovoľného súboru údajov. Poznáte nejakú inú metódu? Alebo máte nejaké otázky? Neváhajte sa nás opýtať.