Hoe om op te soek met veelvuldige kriteria in Excel (2 maklike maniere)

  • Deel Dit
Hugh West

Terwyl ons in Excel werk, moet ons dit gereeld doen. Ons moet 'n bepaalde waarde in 'n datastel opsoek wat aan een of meer kriteria voldoen. Vandag sal ek wys hoe jy een of meer waardes wat aan veelvuldige kriteria voldoen in 'n datastel in Excel kan opsoek.

Laai Oefenwerkboek af

Laai hierdie oefenwerkboek af om te oefen terwyl jy hierdie lees artikel.

Kyk op met veelvuldige kriteria.xlsx

2 Geskikte maniere om met veelvuldige kriteria op te soek in Excel

Kyk na die data hieronder gestel. Ons het die Werknemer-ID's, Werknemersname, Aansluitingsdatums, en Salarisse van 'n maatskappy genaamd Jupyter Group . Ons sal waardes met veelvuldige kriteria opsoek deur die INDEX, MATCH, XLOOKUP, en FILTER funksies te gebruik. Hier is 'n oorsig van die datastel vir ons vandag se taak.

Nou sal ons probeer om waardes op te soek wat aan verskeie tipes veelvuldige kriteria voldoen uit hierdie stel data.

Metode 1: Soek meervoudige kriteria van EN-tipe

Eerstens, kom ons probeer om 'n paar veelvuldige kriteria van EN tipe op te soek. Hier beteken EN tik veelvuldige kriteria, een waarde moet aan al die kriteria voldoen om gekies te word. Kom ons probeer om 'n werknemer te vind met 'n ID meer as 400 en 'n salaris groter as $40000 . Jy kan die taak op 3 verskillende maniere verrig.

1.1 Kombineer INDEX- en MATCH-funksies in rye en kolomme

Voordat jy na die hoofpunt gaan, kan jy 'n blik op die INDEX en MATCH funksies van Excel gaan kyk. Ons sal die werknemer met 'n ID meer as 400 en 'n salaris groter as $40000 uitvind deur die INDEX-MATCH -formule te gebruik. Kom ons volg die instruksies hieronder:

Stappe:

  • Selekteer eerstens sel G7 en skryf die volgende formule neer.
=INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5:E16>40000),0),1)

  • Druk daarna Enter op jou sleutelbord. As gevolg hiervan het ons 'n werknemer gevind met 'n ID meer as 400 en 'n salaris groter as $40000 , Richard Samuelson .

Formule-ontleding
  • B5:B16>400 gaan deur al die ID's in kolom B en gee 'n skikking van WAAR en ONWAAR , WAAR wanneer 'n ID is groter as 400 , anders gaan ONWAAR .
  • E5:E16>40000 deur al die salarisse in kolom E en gee 'n skikking van WAAR en ONWAAR , WAAR terug wanneer 'n salaris groter is as $40,000 , anders ONWAAR.
  • (B5:B16>400)*(E5:E16>40000) vermenigvuldig die twee skikkings van WAAR en ONWAAR , en gee 'n 1 terug wanneer die ID groter as 400 is en die salaris groter is as $40,000 . Anders gee dit 0 terug.
  • MATCH(1,(B5:B16>400)*(E5:E16>40000),0) gaan deur die skikking (B5:B16>400)*(E5:E16>40000) en gee die reeksnommer van die eerste 1 wat dit teëkom terug.
  • In hierdie geval gee dit 5 terug omdat die eerste 1 in reeksnommer 5 is.
  • Laastens, INDEX(C5:C16,MATCH(1,(B5:B16>400)*(E5) :E16>40000),0),1) gee die werknemernaam uit die reeks C5:C16 , met rynommer gelyk aan die uitvoer van die MATCH -funksie en kolom getal gelyk aan 1 .
Notas Dit is 'n Skikkingsformule . Moet dus nie vergeet om Ctrl + Shift + Enter te druk tensy jy in Office 365 is.
  • Dit is die vereiste werknemer met 'n ID groter as 400 en 'n salaris groter as $40,000 . Nou, as jy dit verstaan, kan jy vir my die formule vertel om die werknemer uit te vind wat voor 31 Des, 2009 aangesluit het, maar steeds 'n salaris minder as $25 000 ontvang.
  • Tik daarna die formule hieronder in sel G7 .
=INDEX(C5:C16,MATCH(1,(D5:D16

  • Druk dus Enter . Verder sal jy Angela Hopkins as die terugkeer van die formule kry.

Lees Meer: 7 Tipes opsoek wat jy in Excel kan gebruik

1.2 Gebruik XLOOKUP-funksie

Ons kan die vorige taak ook uitvoer deur die XLOOKUP -funksie van Excel te gebruik. Maar onthou, XLOOKUP is slegs beskikbaar in Office 365 . Voordat u na die hoofpunt gaan, kan u 'n blik geeby die XLOOKUP -funksie van Excel. Nou vind ons die werknemer met 'n ID groter as 400 en 'n salaris groter as $40,000 deur die XLOOKUP -funksie te gebruik. Kom ons volg die instruksies hieronder om te leer!

Stappe:

  • Tik eerstens die onderstaande formule in sel G7 .
=XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16)

  • Gevolglik het ons dieselfde werknemer as vroeër, Richard Samuelson . Dit is die naam van die werknemer met 'n ID meer as 400 en 'n salaris groter as $40,000 .

Formule-ontleding
  • (B5:B16>400)*(E5:E16>40000) stuur 'n skikking van 1 en 0 , 1 wanneer die ID groter as 400 is en die salaris groter is as $40,000 . 0 anders.
  • XLOOKUP(1,(B5:B16>400)*(E5:E16>40000),C5:C16) soek eers vir 1 in die skikking (B5:B16>400)*(E5:E16>40000). Wanneer dit een vind, gee dit die waarde van sy aangrensende sel in die reeks C5:C16 terug.

Lees Meer: Hoe om OPSOEK-funksie in Excel te gebruik (4 Geskikte Voorbeelde)

1.3 Toepassing van FILTER-funksie

Die INDEX-MATCH en die XLOOKUP formule het een beperking. As meer as een waarde aan die gegewe kriteria voldoen, gee hulle slegs die eerste waarde terug. Byvoorbeeld, in die vorige voorbeeld, as jy mooi kyk, sal jy vind dat daar is twee werknemers met 'n ID meer as 400 en 'n salaris groter as $40 000 . Hulle is Richard Samuelson en Usman Malik. Maar die INDEX-MATCH en die XLOOKUP formules gee net die eerste werknemer, Richard Samuelson . Om al die waardes te kry wat aan die gegewe kriteria voldoen, kan jy die FILTER -funksie van Excel gebruik. Maar onthou, die FILTER -funksie is ook net beskikbaar in Office 365 .

Stappe:

  • Om vind uit die werknemers met 'n ID groter as 400 en 'n salaris groter as $40,000 sal die FILTER -formule wees:
=FILTER(C5:C16,(B5:B16>400)*(E5:E16>40000))

  • Daarna het ons hierdie keer al die werknemers gekry wat al die kriteria handhaaf, Richard Samuelson en Usman Malik .

Formule-ontleding
  • (B5:B16>400)*(E5:E16>40000) stuur 'n skikking van 1 en 0 , 1 terug wanneer die ID groter is as 400 en die salaris is groter as $40,000. 0 anders (Sien die INDEX-MATCH afdeling).
  • FILTER(C5:C16,(B5:B16>400)*(E5:E16>) ;40000)) gaan deur al die waardes in die skikking (B5:B16>400)*(E5:E16>40000), en wanneer dit 'n 1 vind, dit gee die aangrensende waarde van die reeks C5:C16 terug.
  • So kry ons al die werknemers met 'n ID groter as 400 en 'n salaris groteras $40 000 .
  • Nou, as jy dit verstaan, kan jy vir my die formule vertel om uit te vind watter werknemers tussen 1 Januarie 2014 aangesluit het, en 31 Desember 2016 , maar 'n salaris van ten minste $30 000 ontvang? Ja. Jy is reg. Die formule sal wees:
=FILTER(C5:C16,(D5:D16>=DATE(2014,1,1))*(D5:D16=30000))

Lees Meer: Hoe om veelvuldige waardes in Excel op te soek (10 maniere)

Metode 2: Soek veelvuldige kriteria van OF-tipe

Nou sal ons probeer om 'n paar waardes op te soek wat aan veelvuldige kriteria voldoen van OF tipe. Hier beteken OF tipe kriteria dat een waarde aan ten minste een kriterium moet voldoen uit al die kriteria wat gekies moet word. Kom ons probeer om uit te vind die werknemer wat voor 1 Jan, 2010 aangesluit het of 'n salaris van meer as $30,000 ontvang.

2.1 Voeg INDEX- en MATCH-funksies saam in Datumreeks

Klik hier om die INDEKS funksie te besoek en klik hier om die MATCH -funksie te besoek voordat jy voortgaan, as jy wil.

Stappe:

  • Die INDEX-MATCH -formule sal wees soos in die onderstaande formule-blokkie getoon.
=INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1)

  • Sien, ons het Jack Simpson , die eerste werknemer met 'n aansluitingsdatum voor 1 Januarie 2010 , of 'n salaris meer meer as $30 000 . Maar daar is baie meer werknemers. Met INDEX-MATCH, kry ons net die eerste een.
  • Ons sal later al die werknemers bymekaar kry deur die FILTER funksioneer later. Dit is die vereiste werknemer wat by ten minste een kriterium pas.

Formule-uiteensetting
  • D5:D16 ="" strong=""> stuur 'n skikking van WAAR en ONWAAR . WAAR wanneer die aansluitingsdatum in kolom D minder as 1 Jan 2010 is. ONWAAR anders.
  • E5:E16>30000 stuur ook 'n skikking van WAAR en ONWAAR . WAAR wanneer die salaris meer as $30 000 is. ONWAAR anders.
  • (D5:D1630000) voeg die twee skikkings by en gee nog 'n skikking van 0, 1, of 2 terug . 0 wanneer geen kriterium bevredig is nie, 1 wanneer slegs een kriterium bevredig is en 2 wanneer aan beide die kriteria voldoen is.
  • ((D5:D1630000))>0 gaan deur al die waardes van die skikking (D5:D1630000) en gee WAAR terug as die waarde groter is as 0 ( 1 en 2 ), en ONWAAR anders ( 0 ).
  • MATCH(TRUE,((D5:D1630000))>0,0) gaan deur al die waardes in die skikking ((D5:D1630000))>0 en gee die eerste reeksnommer terug waar dit 'n WAAR kry.
  • In hierdie geval gee dit 3 terug omdat die eerste WAAR in reeks 3 is .
  • Laastens, INDEX(C5:C16,MATCH(TRUE,((D5:D1630000))>0,0),1) stuur die werknemernaam uit die reeks C5:C16 met die reeksnommer teruggestuur deur die MATCH funksie.

Nou, as jyverstaan ​​dit, kan jy vir my die formule vertel om die werknemer uit te vind met 'n ID minder as 300, of 'n aansluitingsdatum minder as 1 Januarie 2012, of 'n salaris groter as $30 000 ?

Ja. Jy is reg. Die formule sal wees:

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

Lees meer: Hoe om Soek teks in Excel (7 Geskikte Metodes)

2.2 Toepassing van XLOOKUP-funksie

Jy kan dieselfde taak verrig deur die XLOOKUP -funksie in Excel te gebruik. XLOOKUP is slegs beskikbaar in Office 365 .

Stappe:

  • Die formule om die werknemer te vind met 'n aansluitingsdatum voor 1 Januarie 2010, of 'n salaris groter as $30 000 sal wees:
=XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16)

  • Sien, ons het dieselfde werknemer as vroeër, Jack Simpson . Maar soos met die INDEX-MATCH -formule, voldoen meer werknemers aan die gegewe kriteria. Ons het net die eerste een.

Formule-ontleding
  • ((D5: D1630000))>0 gee WAAR terug wanneer aan ten minste een van die twee kriteria voldoen is, anders ONWAAR . Sien bogenoemde afdeling.
  • XLOOKUP(TRUE,((D5:D1630000))>0,C5:C16) gee dan die werknemernaam van kolom C5:C16 , waar dit die eerste WAAR kry.

Lees meer: Hoe om waarde van 'n ander blad in Excel op te soek (3 maklike metodes) )

2.3 Gebruik FILTER-funksie

Uiteindelik sal onsdoen dieselfde taak deur die FILTER -funksie in Excel te gebruik. Die FILTER -funksie is slegs beskikbaar in Office 365 . Hierdie keer sal ons al die werknemers kry wat voor 1 Januarie 2010 aangesluit het, of salarisse van meer as $30 000 ontvang het.

Stappe:

  • Die formule sal dieselfde wees as in die onderstaande formulekassie.
=FILTER(C5:C16,((D5:D1630000))>0)

  • Dit gee dus al die werknemers terug wat aan ten minste een van die gegewe kriteria voldoen.
  • Kyk, hierdie keer het ons al die werknemers wat aan ons gegewe kriteria voldoen, aansluitingsdatum voor 1 Januarie, 2010, of salaris groter as $30 000 .

Formule-ontleding
  • ((D5:D1630000))>0 gee WAAR wanneer ten minste een van die twee kriteria bevredig is, anders ONWAAR . Sien die INDEX-MATCH afdeling.
  • FILTER(C5:C16,((D5:D1630000))>0) gaan deur al die selle in die reeks C5:C16 maar gee slegs diegene terug wanneer dit 'n WAAR teëkom.

Lees meer: Hoe om 'n op te soek Tabel in Excel (8 metodes)

Gevolgtrekking

Deur hierdie metodes te gebruik, kan jy 'n waarde soek wat aan veelvuldige kriteria voldoen uit enige stel data. Ken jy enige ander metode? Of het jy enige vrae? Vra ons gerus.

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.