Kako tražiti s više kriterija u Excelu (2 jednostavna načina)

  • Podijeli Ovo
Hugh West

Dok radimo u Excelu, to moramo činiti često. Trebamo potražiti određenu vrijednost u skupu podataka koja zadovoljava jedan ili više kriterija. Danas ću vam pokazati kako možete potražiti jednu ili više vrijednosti koje zadovoljavaju više kriterija u skupu podataka u programu Excel.

Preuzmite radnu bilježnicu za vježbu

Preuzmite ovu radnu bilježnicu za vježbu kako biste vježbali dok ovo čitate članak.

Traži s više kriterija.xlsx

2 prikladna načina za traženje s više kriterija u Excelu

Pogledaj podatke postaviti ispod. Imamo ID-ove zaposlenika, imena zaposlenika, datume pridruživanja i plaće tvrtke pod nazivom Jupyter Group . Potražit ćemo vrijednosti s više kriterija pomoću funkcija INDEX, MATCH, XLOOKUP, i FILTER . Evo pregleda skupa podataka za naš današnji zadatak.

Sada ćemo pokušati potražiti vrijednosti koje zadovoljavaju različite vrste višestrukih kriterija iz ovog skupa podataka.

Metoda 1: Pretraživanje višestrukih kriterija tipa AND

Prije svega, pokušajmo potražiti višestruke kriterije tipa AND . Ovdje, AND tip više kriterija znači da jedna vrijednost mora zadovoljiti sve kriterije da bi bila odabrana. Pokušajmo pronaći zaposlenika s ID većim od 400 i plaćom većom od $40000 . Zadatak možete izvršiti na 3 različita načina.

1.1 Kombinirajte funkcije INDEX i MATCH u recima i stupcima

Prije nego što prijeđete na glavnu točku, možete pogledati funkcije INDEX i MATCH programa Excel. Pronaći ćemo zaposlenika s ID većim od 400 i plaćom većom od $40000 pomoću formule INDEX-MATCH . Slijedimo upute u nastavku:

Koraci:

  • Prvo odaberite ćeliju G7 i zapišite sljedeću formulu.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)

  • Nakon toga pritisnite Enter na tipkovnici. Kao rezultat toga, pronašli smo zaposlenika s ID većom od 400 i plaćom većom od $40000 , Richard Samuelson .

Raščlamba formule
  • B5:B16>400 prolazi kroz sve ID-ovi u stupcu B i vraća niz TRUE i FALSE , TRUE kada je ID je veće od 400 , inače FALSE .
  • E5:E16>40000 prolazi kroz sve plaće u stupcu E i vraća niz TRUE i FALSE , TRUE kada je plaća veća od $40,000 , inače FALSE.
  • (B5:B16>400)*(E5:E16>40000) množi dva niza TRUE i FALSE , i vraća 1 kada je ID veći od 400 a plaća je veća od $40,000 . Inače vraća 0 .
  • MATCH(1,(B5:B16>400)*(E5:E16>40000),0) prolazi nizom (B5:B16>400)*(E5:E16>40000) i vraća serijski broj prvog 1 na koji naiđe.
  • U ovom slučaju, vraća 5 jer je prvi 1 u rednom broju 5.
  • Konačno, INDEX(C5:C16,MATCH(1,(B5:B16>400))*(E5 :E16>40000),0),1) vraća ime zaposlenika iz raspona C5:C16 , s brojem retka koji je jednak izlazu funkcije MATCH i stupca broj jednak 1 .
Napomene Ovo je Formula niza . Stoga ne zaboravite pritisnuti Ctrl + Shift + Enter osim ako niste u Office 365 .
  • Ovo je traženi zaposlenik s ID većim od 400 i plaćom većom od $40,000 . Sada, ako ovo razumijete, možete li mi reći formulu za pronalaženje zaposlenika koji se pridružio prije 31. prosinca 2009. , ali još uvijek prima plaću manju od 25.000 USD .
  • Nakon toga upišite sljedeću formulu u ćeliju G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16

  • Stoga pritisnite Enter . Nadalje, dobit ćete Angelu Hopkins kao povratnu formulu.

Pročitajte više: 7 vrsta pretraživanja koje možete koristiti u Excelu

1.2 Korištenje funkcije XLOOKUP

Prethodni zadatak možemo izvršiti i pomoću funkcije XLOOKUP programa Excel. Ali zapamtite, XLOOKUP je dostupan samo u Office 365 . Prije nego prijeđete na glavnu točku, možete baciti pogledu funkciji XLOOKUP programa Excel. Sada pronalazimo zaposlenika s ID većim od 400 i plaćom većom od $40,000 pomoću funkcije XLOOKUP . Slijedimo upute u nastavku da bismo naučili!

Koraci:

  • Prvo upišite formulu u nastavku u ćeliju G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)

  • Kao rezultat toga, imamo istog zaposlenika kao i ranije, Richard Samuelson . Ovo je ime zaposlenika s ID većim od 400 i plaćom većom od $40,000 .

Raščlamba formule
  • (B5:B16>400)*(E5:E16>40000) vraća niz od 1 i 0 , 1 kada je ID veći od 400 i plaća veća od 40.000$ . 0 u suprotnom.
  • XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) prvo traži 1 u niz (B5:B16>400)*(E5:E16>40000). Kada je pronađe, vraća vrijednost iz susjedne ćelije u rasponu C5:C16 .

Pročitajte više: Kako koristiti funkciju LOOKUP u programu Excel (4 prikladna primjera)

1.3 Primjena funkcije FILTER

INDEX-MATCH i XLOOKUP formula ima jedno ograničenje. Ako više od jedne vrijednosti zadovoljava zadane kriterije, vraćaju samo prvu vrijednost. Na primjer, u prethodnom primjeru, ako pažljivo pogledate, vidjet ćete da postoje dva zaposlenika s ID većom od 400 i plaćom većom od $40,000 . Oni su Richard Samuelson i Usman Malik. Ali INDEX-MATCH i XLOOKUP formule vraćaju samo prvog zaposlenika, Richard Samuelson . Da biste dobili sve vrijednosti koje zadovoljavaju zadane kriterije, možete koristiti FILTER funkciju programa Excel. Ali zapamtite, funkcija FILTER također je dostupna samo u Office 365 .

Koraci:

  • Za saznajte zaposlenike s ID većim od 400 i plaćom većom od $40,000 formula FILTER će biti:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))

  • Nakon toga, ovaj put imamo sve zaposlenike koji održavaju sve kriterije, Richard Samuelson i Usman Malik .

Raščlamba formule
  • (B5:B16>400)*(E5:E16>40000) vraća niz od 1 i 0 , 1 kada je ID veći od 400, a plaća veća od 40.000 dolara. 0 inače (Pogledajte odjeljak INDEX-MATCH ).
  • FILTER(C5:C16,(B5:B16>400)*(E5:E16> ;40000)) prolazi kroz sve vrijednosti u nizu (B5:B16>400)*(E5:E16>40000), i kada pronađe 1 , vraća susjednu vrijednost iz raspona C5:C16 .
  • Tako dobivamo sve zaposlenike s ID većim od 400 i plaća većaod 40.000 $ .
  • Sada, ako ovo razumijete, možete li mi reći formulu za pronalaženje zaposlenika koji su se pridružili između 1. siječnja 2014. i 31. prosinca 2016. , ali ste primili plaću od najmanje 30.000 dolara ? Da. U pravu si. Formula će biti:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))

Pročitaj više: Kako potražiti više vrijednosti u Excelu (10 načina)

Metoda 2: Pretraživanje više kriterija tipa OR

Sada ćemo pokušati potražiti neke vrijednosti koje zadovoljavaju više kriterija tipa ILI . Ovdje kriteriji tipa OR znače da jedna vrijednost mora zadovoljiti barem jedan kriterij među svim kriterijima koji se odabiru. Pokušajmo pronaći zaposlenika koji se pridružio prije 1. siječnja 2010. ili prima plaću veću od 30.000$ .

2.1 Spajanje funkcija INDEX i MATCH u datumskom rasponu

Kliknite ovdje da posjetite funkciju INDEX i kliknite ovdje da posjetite funkciju MATCH prije nego nastavite, ako želite.

Koraci:

  • Formula INDEX-MATCH bit će kao što je prikazano u donjem okviru za formulu.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)

  • Vidite, imamo Jacka Simpsona , prvog zaposlenika s datumom pridruživanja prije 1. siječnja 2010. ili plaćom većom od 30.000 dolara . No zaposlenih je puno više. Korištenjem INDEX-MATCH, dobivamo samo prvi.
  • Sve ćemo zaposlenike okupiti kasnije koristeći FILTER funkcija kasnije. Ovo je traženi zaposlenik koji ispunjava barem jedan kriterij.

Razdvajanje formule
  • D5:D16 ="" strong=""> vraća niz TRUE i FALSE . TOČNO kada je datum pridruživanja u stupcu D manji od 1. siječnja 2010. NETOČNO u suprotnom.
  • E5:E16>30000 također vraća niz TRUE i FALSE . TOČNO kada je plaća veća od 30.000 USD. FALSE inače.
  • (D5:D1630000) dodaje dva niza i vraća drugi niz od 0, 1, ili 2 . 0 kada nijedan kriterij nije zadovoljen, 1 kada je zadovoljen samo jedan kriterij i 2 kada su oba kriterija zadovoljena.
  • ((D5:D1630000))>0 prolazi kroz sve vrijednosti niza (D5:D1630000) i vraća TRUE ako je vrijednost veća od 0 ( 1 i 2 ), i FALSE inače ( 0 ).
  • MATCH(TRUE,((D5:D1630000))>0,0) prolazi kroz sve vrijednosti u nizu ((D5:D1630000))>0 i vraća prvi serijski broj gdje dobiva TRUE .
  • U ovom slučaju, vraća 3 jer je prvi TRUE u serijskom 3 .
  • Konačno, INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1) vraća ime zaposlenika iz raspona C5:C16 sa serijskim brojem koji vraća funkcija MATCH .

Sada, akorazumiješ ovo, možeš li mi reći formulu za pronalaženje zaposlenika s ID manjim od 300, ili datumom pridruživanja manjim od 1. siječnja 2012., ili plaću veću od $30,000 ?

Da. U pravu si. Formula će biti:

=INDEX(C5:C16,MATCH(TRUE,((B5:B16<200)+(D5:D1630000))>0,0),1)

Pročitajte više: Kako Traženje teksta u Excelu (7 prikladnih metoda)

2.2 Primjena funkcije XLOOKUP

Možete izvršiti isti zadatak korištenjem funkcije XLOOKUP u Excelu. XLOOKUP dostupan je samo u Office 365 .

Koraci:

  • Formula za pronalaženje zaposlenika s datum pridruživanja prije 1. siječnja 2010. ili plaća veća od $30,000 bit će:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)

  • Vidite, imamo istog zaposlenika kao i ranije, Jacka Simpsona . No, kao i kod formule INDEX-MATCH , više zaposlenika ispunjava zadane kriterije. Imamo samo prvu.

Pregled formule
  • ((D5: D1630000))>0 vraća TRUE kada je barem jedan od dva kriterija zadovoljen, inače FALSE . Pogledajte gornji odjeljak.
  • XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) tada vraća ime zaposlenika iz stupca C5:C16 , gdje dobiva prvi TRUE .

Pročitajte više: Kako potražiti vrijednost iz drugog lista u Excelu (3 jednostavne metode )

2.3 Korištenje funkcije FILTER

Konačno ćemoizvršite isti zadatak koristeći FILTER funkciju u Excelu. Funkcija FILTER dostupna je samo u Office 365 . Ovaj put ćemo dobiti sve zaposlenike koji su se pridružili prije 1. siječnja 2010. ili su primili plaće veće od $30,000 .

Koraci:

  • Formula će biti ista kao što je prikazana u donjem okviru za formulu.
=FILTER(C5:C16,((D5:D1630000))>0)

  • Tako se vraćaju svi zaposlenici koji ispunjavaju barem jedan od zadanih kriterija.
  • Vidite, ovaj put imamo sve zaposlenike koji ispunjavaju naše zadane kriterije, datum pridruživanja prije 1. siječnja, 2010, ili plaća veća od $30,000 .

Pregled formule
  • ((D5:D1630000))>0 vraća TRUE kada je barem jedan od dva kriterija zadovoljen, inače FALSE . Pogledajte odjeljak INDEX-MATCH .
  • FILTER(C5:C16,((D5:D1630000))>0) prolazi kroz sve ćelije u rasponu C5:C16 ali vraća samo one kada naiđe na TRUE .

Pročitajte više: Kako potražiti Tablica u Excelu (8 metoda)

Zaključak

Upotrebom ovih metoda možete potražiti neku vrijednost koja zadovoljava više kriterija iz bilo kojeg skupa podataka. Znate li neku drugu metodu? Ili imate pitanja? Slobodno nas pitajte.

Hugh West vrlo je iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i financije te magistrirao poslovno upravljanje. Hugh ima strast za podučavanjem i razvio je jedinstveni pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno poznavanje programa Excel pomoglo je tisućama studenata i profesionalaca diljem svijeta da poboljšaju svoje vještine i postignu uspjeh u karijeri. Putem svog bloga, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne vodiče za Excel i online obuku kako bi pomogao pojedincima i tvrtkama da dostignu svoj puni potencijal.