Hoe kinne jo in dynamyske list meitsje yn Excel basearre op kritearia (3 manieren)

  • Diel Dit
Hugh West

Hjoed sil ik sjen litte hoe't jo in dynamyske list meitsje kinne op basis fan inkele of meardere kritearia yn Excel.

Download Practice Workbook

Dynamyske list basearre op Criteria.xlsx

Wat is in dynamyske list yn Excel?

In dynamyske list is in list dy't makke wurdt fan in gegevensset en automatysk bywurke wurdt as in wearde yn 'e orizjinele gegevensset wurdt feroare, of nije wearden wurde tafoege oan 'e oarspronklike gegevensset.

Yn de opjûne ôfbylding hawwe wy in list mei de nammen fan alle learlingen dy't punten krigen grutter as 60 yn it eksamen.

As jo ​​​​no de tekens fan Jennifer Marlo feroarje fan 68 nei 58 , en in nije studint tafoegje mei de namme Ross Smith mei markearrings 81 yn 'e tabel, sil de list automatysk oanpasse.

Dit wurdt in dynamyske list neamd.

3 manieren om dynamyske list yn Excel te meitsjen op basis fan kritearia

Hjir hawwe wy in gegevensset mei de Student ID's, Nammen, en Marks fan guon learlingen yn in Skoalle mei de namme Sunflower kindergarten.

Us doel hjoed is om in dynamyske list te meitsjen basearre op kritearia út dizze dataset. Wy sille hjoed sawol inkele as meardere kritearia brûke.

1. FILTER- en OFFSET-funksjes brûke (foar nije ferzjes fan Excel)

Earst sille wy in kombinaasje brûke fan de FILTER , OFFSET , en COUNTA funksjes fan Excel.

De funksje FILTER is beskikber yn Office 365 allinich. Dit is dus allinich foar dyjingen dy't in Office 365 abonnemint hawwe.

Gefal 1: basearre op ienige kritearia

Litte wy besykje in dynamyk te meitsjen list fan de learlingen waans gemiddelde sifers grutter binne as of gelyk oan 60 .

Jo kinne dizze formule brûke:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

Sa't jo sjen kinne, hawwe wy in list fan alle learlingen dy't mear as 60 krigen.

En fansels is dit in dynamyk list. Jo feroarje elke wearde yn de gegevensset of foegje in nije wearde ta yn de gegevensset.

De list sil automatysk oanpasse.

Utlis fan de Formule:

  • COUNTA(C:C) jout it oantal rigen yn kolom C werom dy't net leech binne. Dus COUNTA(C:C)-1 jout it oantal rigen werom dat wearden hat sûnder de Kolomkop ( Namme fan studinten yn dit foarbyld).
  • As jo' t hawwe de Kolomkop , brûk COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) begjint fan sel C5 (Namme fan 'e earste studint) en jout in berik fan de nammen fan alle learlingen werom.
  • De funksje OFFSET yn kombinaasje mei de funksje COUNTIF is brûkt om de formule dynamysk te hâlden. As der noch ien studint wurdt tafoege oan de gegevensset, sil de COUNTA(C:C)-1 formule tanimme mei 1 en de funksje OFFSET sil de studint befetsje.
  • Lyksa jout OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 TRUE werom foar alle tekens dy't grutter binne as of gelyk oan 60 .
  • Uteinlik jout FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) in list werom fan alle learlingen dy't mear as 60 krigen hawwe.
  • As elke nije studint wurdt tafoege oan de gegevensset, COUNTA(C:C)-1 fergruttet mei 1 , en de funksje FILTER ferfarsket de berekkening ynklusyf it.
  • Sa de formule bliuwt altyd dynamysk.

Opmerking:

As jo ​​de markearring tegearre mei de nammen yn 'e list krije wolle, feroarje gewoan it fyfde argumint fan de earste OFFSET -funksje fan 1 oant 2 .

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)

Gefal 2: Op grûn fan meardere kritearia

Litte wy dizze kear meardere kritearia besykje.

Wy sille besykje in dynamyske list te meitsjen fan de learlingen dy't krige punten mear as of gelyk oan 60, mar waans ID's minder as of gelyk binne oan 200 .

Jo kinne dizze formule brûke:

=FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Sa't jo sjen kinne, hawwe wy in list fan alle learlingen dy't mear dan 60 hawwe en hawwe ID s minder dan 200 .

En net hoecht te fertellen, dit is in dynamyske list.

As jo ​​in wearde feroarje of in nije studint tafoegje oan de gegevensset, sil de list automatysk oanpasse.

Utlis fan de Formule:

  • Hjir hawwe wy twa dynamyske berik fan kritearia fermannichfâldige, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • As jo ​​mear as 2 kritearia hawwe, fermannichfâldigje dan alle berik fan kritearia op deselde wize.
  • De rest is itselde as it foarige foarbyld (fan inkele kritearia).De funksje OFFSET yn kombinaasje mei de funksje COUNTA is brûkt om de formule dynamysk te hâlden.

Opmerking:

As jo ​​alle kolommen yn 'e list sjen wolle ( Kolommen B, C, en D yn dit foarbyld), feroarje it earste argumint fan 'e earste OFFSET funksje nei de earste kolom ( B5 yn dit foarbyld), en it fyfde argumint foar it totale oantal kolommen ( 3 yn dit foarbyld).

=FILTER(OFFSET(B5,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200))

Lês mear: Excel Create Dynamic List út tabel (3 maklike manieren)

2. Yndeks-MATCH brûke mei oare funksjes (foar âlde ferzjes)

Dy't gjin in Office 365 -abonnemint kin de boppesteande formule net brûke.

Ik lit in mear komplekse manier sjen foar dyjingen dy't de âldere ferzje fan Excel brûke, mei de INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, en COUNTIFS funksjes fan Excel. Tink derom dat dizze formules arrayformules binne. Dus, om se yn âldere ferzjes fan Excel ta te passen, moatte jo op Ctrl+Shift+Enter drukke ynstee fan gewoan Enter.

Gefal 1: basearre op ienige kritearia

De formule foar it meitsjen fan in dynamyske list fan 'e learlingen dy't mear as of lyk oan 60 krigen sille wêze:

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60,

OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Sa't jo sjen kinne, hawwe wy wer de nammen krigen fan alle learlingen dy't mear as of gelyk krigen oan 60 .

Dizze kear binne wy ​​​​oprinnendfolchoarder fan de nûmers.

En ja, de list is dynamysk. Foegje in nije studint ta oan de dataset, of feroarje de tekens fan elke studint yn de dataset.

De list sil himsels automatysk oanpasse.

Utlis fan de Formule:

  • Hjir C:C is de kolom dêr't wy de ynhâld fan 'e list út helje wolle ( Namme fan studinten yn dizze foarbyld). Jo brûke jo ien.
  • D:D is de kolom dêr't it kritearium leit ( Gemiddelde Marks yn dit foarbyld). Jo brûke jo ien.
  • C5 en D5 binne de sellen wêrfan myn gegevens begûn binne (krekt ûnder de Kolomkoppen ). Jo brûke jo ien.
  • “>=60” is myn kritearium (Grutter as of gelyk oan 60 yn dit foarbyld). Jo brûke jo ien.
  • Oare as dizze pear wizigingen, hâld de rest fan 'e formule net feroare en brûk it yn jo gegevensset. Jo krije in dynamyske list neffens jo winske kritearium.

Gefal 2: Basearre op meardere kritearia

De INDEX-MATCH formule foar de dynamyske list basearre op meardere kritearia is in bytsje komplekser. Dochs lit ik it sjen.

De formule om de nammen te krijen fan 'e learlingen dy't sifers grutter as of gelyk oan 60 krigen, mar ID s minder hawwe as 200 sil wêze;

=INDEX(OFFSET(C5,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*

(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,COUNTA(D:D)-1,1),0),1)

Utlis fan de formule:

  • Hjir C:C is de kolom wêrfan wy wolle neiekstrahearje de ynhâld fan 'e list ( Namme fan studinten yn dit foarbyld). Jo brûke jo ien.
  • B:B en D:D binne de kolommen dêr't de kritearia lizze ( Studint ID en Gemiddelde marks yn dit foarbyld). Jo brûke jo ien.
  • B5, C5, en D5 binne de sellen wêrfan myn gegevens begûn binne (krekt ûnder de Kolomkoppen ). Jo brûke jo ien.
  • Ik haw hjir twa kritearia fermannichfâldige: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .As jo ​​mear as twa kritearia hawwe, fermannichfâldigje dêrmei.
  • Ik haw de twa kritearia wer brûkt. binnen dizze COUNTIFS funksje: COUNTIFS(B:B,"=60") . Jo brûke jo jins neffens.
  • Hâld de rest fan 'e formule net feroare en brûk it yn jo gegevensset. Jo krije in dynamyske list mei meardere kritearia.

Lês mear: How to Make a Dynamic Data Validation List Using VBA in Excel

3 . Meitsje in dynamyske útklaplist op basis fan kritearia mei helpmiddel foar gegevensvalidaasje

No hawwe wy de dynamyske list makke. As jo ​​​​wolle, kinne jo in dynamyske útklaplist meitsje yn elke sel fan jo wurkblêd.

  • Om de dynamyske útklaplist te meitsjen, selektearje elke sel yn jo wurkblêd en gean nei Data & GT; Data Validation & GT; Data Validation ûnder de Data Tools seksje.

  • Jo krije de Data Validation dialoochfinster. Kies List ûnder de opsje Tastean . En ûnder de Boarne opsje,Fier de referinsje yn fan 'e earste sel wêr't de list yn jo wurkblêd is tegearre mei in HashTag (#) ( $E$5# yn dit foarbyld).

  • Klik dan op OK . Jo sille in dellûklist krije yn jo selekteare sel lykas dizze.

Lês mear: Hoe kinne jo dynamyske útklaplist meitsje mei VBA yn Excel

Hoe kinne jo in dynamyske unike list yn Excel oanmeitsje op basis fan kritearia

Yn dizze seksje sille wy sjen litte hoe't jo in unike list meitsje kinne yn Excel basearre op kritearia. Wy sille in kombinaasje fan UNIQUE en FILTER funksjes brûke. Wy hawwe de dataset oanpast en de favorite spultsjes fan elke studint tafoege. No, wolle witte de namme fan spultsjes fuortsmite duplikaten mei kritearia. De kritearia binne gemiddelde punten fan 'e learlingen moatte grutter wêze dan 60 .

📌 Stappen:

  • Set de formule basearre op de kombinaasje fan UNIQUE en FILTER funksjes op Sel G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Wy krije in unike list basearre op kritearia.

Utlis fan de formule:

  • FILTER(E5:E25,(D5:D25>60)

Dit filteret de wearden fan Rik E5:E25 , mei in betingst dat gemiddelde punten boppe 60 moatte wêze.

Resultaat: [Tennis, Follybal, Rugby, Tennis, Fuotbal, Rugby, Rugby, fuotbal]

  • UNIQUE(FILTER(E5:E25,(D5:D25>60))))

Dit jout werom allegear unykwearden fan it foarige resultaat.

Resultaat: [Tennis, Follybal, Rugby, Fuotbal]

Konklúzje

It brûken fan dizze metoaden, kinne jo meitsje in dynamyske list basearre op inkele of meardere kritearia yn alle gegevens set yn Excel. Besykje asjebleaft ús webside ExcelWIKI en jou jo suggestjes yn it kommentaarfak.

Hugh West is in tige betûfte Excel-trainer en analist mei mear as 10 jier ûnderfining yn 'e yndustry. Hy hat in bachelorstitel yn boekhâlding en finânsjes en in masterstitel yn bedriuwsadministraasje. Hugh hat in passy foar lesjaan en hat in unike lesoanpak ûntwikkele dy't maklik te folgjen en te begripen is. Syn saakkundige kennis fan Excel hat tûzenen studinten en professionals wrâldwiid holpen har feardigens te ferbetterjen en útblinke yn har karriêre. Troch syn blog dielt Hugh syn kennis mei de wrâld, en biedt fergese Excel-tutorials en online training om partikulieren en bedriuwen te helpen har folsleine potensjeel te berikken.