Dynamische lijst in Excel maken op basis van criteria (3 manieren)

  • Deel Dit
Hugh West

Vandaag laat ik zien hoe u in Excel een dynamische lijst kunt maken op basis van enkele of meerdere criteria.

Download Praktijk Werkboek

Dynamische lijst op basis van criteria.xlsx

Wat is een dynamische lijst in Excel?

Een dynamische lijst is een lijst die wordt gemaakt op basis van een gegevensreeks en automatisch wordt bijgewerkt wanneer een waarde in de oorspronkelijke gegevensreeks wordt gewijzigd, of wanneer nieuwe waarden worden toegevoegd aan de oorspronkelijke gegevensreeks.

In de gegeven afbeelding hebben we een lijst met de namen van alle leerlingen die meer punten hebben behaald dan 60 in het onderzoek.

Als je nu de cijfers van Jennifer Marlo verandert van 68 naar 58 en voeg een nieuwe student toe genaamd Ross Smith met cijfers 81 in de tabel, past de lijst zich automatisch aan.

Dit wordt een dynamische lijst genoemd.

3 manieren om een dynamische lijst in Excel te maken op basis van criteria

Hier hebben we een dataset met de Studenten ID's, Namen, en Marks van sommige studenten in een school genaamd Sunflower kleuterschool.

Ons doel vandaag is een dynamische lijst te maken op basis van criteria uit deze gegevensverzameling. We zullen vandaag zowel enkelvoudige als meervoudige criteria gebruiken.

1. De functies FILTER en OFFSET gebruiken (voor nieuwe versies van Excel)

Allereerst zullen we een combinatie van de FILTER , OFFSET en COUNTA functies van Excel.

De FILTER functie is beschikbaar in Office 365 alleen. Dus dit is alleen voor degenen die een Office 365 abonnement.

Geval 1: Op basis van één criterium

Laten we proberen een dynamische lijst te maken van de studenten wier gemiddelde cijfers groter of gelijk zijn aan 60 .

Je kunt deze formule gebruiken:

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

Zoals u kunt zien, hebben we een lijst van alle studenten die meer dan 60 .

En uiteraard is dit een dynamische lijst. U verandert elke waarde in de dataset of voegt een nieuwe waarde toe in de dataset.

De lijst wordt automatisch aangepast.

Verklaring van de formule:

  • COUNTA(C:C) geeft het aantal rijen in kolom C die niet leeg zijn. Dus COUNTA(C:C)-1 geeft het aantal rijen met waarden zonder de Kolomkop ( Naam student in dit voorbeeld).
  • Als je niet de Kolomkop gebruik COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) begint bij cel C5 (Naam van de eerste student) en geeft een reeks van de namen van alle studenten.
  • De OFFSET functie in combinatie met de Functie COUNTIF is gebruikt om de formule dynamisch te houden. Als er nog een leerling aan de gegevensverzameling wordt toegevoegd, wordt de COUNTA(C:C)-1 formule zal toenemen met 1 en de OFFSET functie omvat de student.
  • Insgelijks, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 geeft terug. WARE voor alle cijfers die groter of gelijk zijn aan 60 .
  • Eindelijk, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) geeft een lijst van alle studenten die meer punten hebben behaald dan 60 .
  • Als er een nieuwe leerling aan de gegevensverzameling wordt toegevoegd, COUNTA(C:C)-1 neemt toe met 1 en de FILTER functie vernieuwt de berekening inclusief het.
  • De formule blijft dus altijd dynamisch.

Let op:

Als u de merktekens samen met de namen in de lijst wilt krijgen, verandert u gewoon het vijfde argument van het eerste OFFSET functie van 1 naar 2 .

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

Geval 2: Gebaseerd op meerdere criteria

Laten we deze keer meerdere criteria proberen.

We proberen een dynamische lijst te maken van de studenten die meer dan of gelijk aan 60 punten hebben gehaald, maar waarvan de ID's kleiner of gelijk zijn aan 200 .

Je kunt deze formule gebruiken:

=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))

Zoals je kunt zien, hebben we een lijst van alle studenten die meer dan 60 en hebben ID s minder dan 200 .

En je hoeft het niet te vertellen, dit is een dynamische lijst.

Als u een waarde wijzigt of een nieuwe leerling toevoegt aan de gegevensverzameling, past de lijst zich automatisch aan.

Verklaring van de formule:

  • Hier hebben we twee dynamische reeksen criteria vermenigvuldigd, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Als u meer dan 2 criteria, alle reeksen criteria op dezelfde manier vermenigvuldigen.
  • De rest is hetzelfde als het vorige voorbeeld (van enkelvoudige criteria). De OFFSET functie in combinatie met de COUNTA functie is gebruikt om de formule dynamisch te houden.

Let op:

Als u alle kolommen in de lijst wilt zien ( Kolommen B en C, en D in dit voorbeeld), verander het eerste argument van de eerste OFFSET functie naar de eerste kolom ( B5 in dit voorbeeld), en het vijfde argument voor het totale aantal kolommen ( 3 in dit voorbeeld).

=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))

Lees meer: Excel Dynamische lijst maken van tabel (3 eenvoudige manieren)

2. INDEX-MATCH gebruiken met andere functies (voor oude versies)

Degenen die geen Office 365 abonnement kan de bovenstaande formule niet gebruiken.

Ik toon een meer complexe manier voor degenen die de oudere versie van Excel gebruiken, met behulp van de INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, en COUNTIFS functies van Excel. Merk op dat deze formules matrixformules zijn. Om ze toe te passen in oudere versies van Excel, moet u dus op Ctrl+Shift+Enter in plaats van alleen Enter.

Geval 1: Op basis van één criterium

De formule om een dynamische lijst te maken van de leerlingen die meer dan of gelijk aan 60 hebben gekregen is:

=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)

Zoals u kunt zien, hebben we weer de namen van alle studenten die meer dan of gelijk aan 60 .

Deze keer hebben we de nummers in oplopende volgorde.

En ja, de lijst is dynamisch. Voeg een nieuwe leerling toe aan de dataset, of verander de cijfers van een leerling in de dataset.

De lijst past zich automatisch aan.

Verklaring van de formule:

  • Hier C:C is de kolom waaruit we de inhoud van de lijst willen halen ( Naam student in dit voorbeeld). Je gebruikt je ene.
  • D:D is de kolom waar het criterium ligt ( Gemiddelde cijfers in dit voorbeeld). Je gebruikt je ene.
  • C5 en D5 zijn de cellen van waaruit mijn gegevens zijn gestart (net onder de Kolomkoppen ). Je gebruikt die van jou.
  • ">=60" is mijn criterium (Groter dan of gelijk aan 60 in dit voorbeeld). Je gebruikt je ene.
  • Afgezien van deze paar wijzigingen, houdt u de rest van de formule ongewijzigd en gebruikt u deze in uw gegevensverzameling. U krijgt een dynamische lijst volgens het door u gewenste criterium.

Geval 2: Gebaseerd op meerdere criteria

De INDEX-MATCH De formule voor de dynamische lijst op basis van meerdere criteria is wat ingewikkelder. Toch laat ik het zien.

De formule om de namen te krijgen van de leerlingen die meer of minder punten hebben behaald dan 60 maar hebben ID s minder dan 200 zal zijn;

=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)

Verklaring van de formule:

  • Hier C:C is de kolom waaruit we de inhoud van de lijst willen halen ( Naam student in dit voorbeeld). Je gebruikt je ene.
  • B: B en D:D zijn de kolommen waar de criteria liggen ( Studentenkaart en Gemiddelde cijfers in dit voorbeeld). Je gebruikt je ene.
  • B5, C5, en D5 zijn de cellen van waaruit mijn gegevens zijn gestart (net onder de Kolomkoppen ). Je gebruikt die van jou.
  • Ik heb hier twee criteria vermenigvuldigd: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) Als u meer dan twee criteria hebt, vermenigvuldig dan dienovereenkomstig.
  • Ik heb opnieuw de twee criteria in dit COUNTIFS functie: COUNTIFS(B:B,"=60") . Je gebruikt je die overeenkomstig.
  • Laat de rest van de formule ongewijzigd en gebruik hem in uw gegevensverzameling. U krijgt een dynamische lijst met meerdere criteria.

Lees meer: Een dynamische gegevensvalidatielijst maken met VBA in Excel

3. Maak een dynamische vervolgkeuzelijst op basis van criteria met behulp van het hulpprogramma voor gegevensvalidatie

Nu hebben we de dynamische lijst gemaakt. Als u wilt, kunt u een dynamische vervolgkeuzelijst maken in een willekeurige cel van uw werkblad.

  • Om de dynamische vervolgkeuzelijst te maken, selecteert u een willekeurige cel in uw werkblad en gaat u naar Gegevens> Gegevensvalidatie> Gegevensvalidatie onder de Gegevensinstrumenten sectie.

  • U krijgt de Validatie van gegevens dialoogvenster. Onder de Sta toe. Optie, kies Lijst En onder de Bron optie, voert u de referentie van de eerste cel in waar de lijst in uw werkblad staat, samen met een HashTag (#) ( $E$5# in dit voorbeeld).

  • Klik dan op OK U krijgt een keuzelijst in uw geselecteerde cel zoals deze.

Lees meer: Dynamische vervolgkeuzelijst maken met VBA in Excel

Hoe maak je een dynamische unieke lijst in Excel op basis van criteria?

In dit deel laten we zien hoe je in Excel een unieke lijst maakt op basis van criteria. We gebruiken een combinatie van UNIEK en FILTER functies. We hebben de dataset gewijzigd en de favoriete spellen van elke student toegevoegd. Nu willen we de naam van de spellen weten door duplicaten te verwijderen met criteria. De criteria zijn gemiddelde cijfers van de studenten moeten groter zijn dan 60 .

📌 Stappen:

  • Zet de formule gebaseerd op de combinatie van UNIEK en FILTER functies op Cel G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60))

We krijgen een unieke lijst op basis van criteria.

Verklaring van de formule:

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

Dit filtert de waarden van Bereik E5:E25 met de voorwaarde dat het gemiddelde cijfer hoger moet zijn dan 60 .

Resultaat: [Tennis, Volleybal, Rugby, Tennis, Voetbal, Rugby, Voetbal].

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

Dit geeft alle unieke waarden van het vorige resultaat.

Resultaat: [Tennis, Volleybal, Rugby, Voetbal].

Conclusie

Met deze methoden kunt u een dynamische lijst maken op basis van enkele of meerdere criteria in een gegevensverzameling in Excel. Neem een kijkje op onze website ExcelWIKI en geef uw suggesties in het commentaarveld.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.