Hvordan lage dynamisk liste i Excel basert på kriterier (3 måter)

  • Dele Denne
Hugh West

I dag skal jeg vise hvordan du lager en dynamisk liste basert på ett eller flere kriterier i Excel.

Last ned øvelsesarbeidsbok

Dynamisk liste basert på Criteria.xlsx

Hva er en dynamisk liste i Excel?

En dynamisk liste er en liste som opprettes fra et datasett og oppdateres automatisk når en verdi i det opprinnelige datasettet endres, eller nye verdier legges til det opprinnelige datasettet.

I det gitte bildet har vi en liste over navnene på alle studentene som fikk karakterer større enn 60 i eksamen.

Hvis du nå endrer karakterene til Jennifer Marlo fra 68 til 58 , og legger til en ny student kalt Ross Smith med karakterene 81 i tabellen, vil listen justere seg automatisk.

Dette kalles en dynamisk liste.

3 måter å lage dynamisk liste i Excel basert på kriterier

Her har vi et datasett med student-IDer, navn, og merker til noen elever på en skole som heter Sunflower barnehage.

Vårt mål i dag er å lage en dynamisk liste basert på kriterier fra dette datasettet. Vi vil bruke både enkelt- og flere kriterier i dag.

1. Bruke FILTER- og OFFSET-funksjoner (for nye versjoner av Excel)

Først og fremst vil vi bruke en kombinasjon av FILTER , OFFSET og COUNTA funksjoner i Excel.

FILTER -funksjonener kun tilgjengelig i Office 365 . Så dette er kun for de som har et Office 365 -abonnement.

Case 1: Based on Single Criteria

La oss prøve å lage en dynamisk liste over elevene hvis gjennomsnittskarakterer er større enn eller lik 60 .

Du kan bruke denne formelen:

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

Som du kan se, har vi en liste over alle elevene som fikk mer enn 60 .

Og åpenbart er dette en dynamikk liste. Du endrer en hvilken som helst verdi i datasettet eller legger til en ny verdi i datasettet.

Listen justeres automatisk.

Forklaring av formelen:

  • COUNTA(C:C) returnerer antall rader i kolonne C som ikke er tomme. Så COUNTA(C:C)-1 returnerer antall rader som har verdier uten Kolonneoverskrift ( Elevens navn i dette eksemplet).
  • Hvis du gjør det ikke ha Kolonneoverskriften , bruk COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) starter fra celle C5 (Navn på den første eleven) og returnerer et område med navnene på alle elevene.
  • OFFSET -funksjonen i kombinasjon med COUNTIF-funksjonen har blitt brukt for å holde formelen dynamisk. Hvis én elev til legges til datasettet, vil COUNTA(C:C)-1 formelen øke med 1 og OFFSET -funksjonen vil inkludere eleven.
  • På samme måte returnerer OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 TRUE for alle merkene som er større enn eller lik 60 .
  • Til slutt returnerer FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) en liste over alle elevene som fikk mer enn 60 .
  • Hvis enhver ny student legges til datasettet, COUNTA(C:C)-1 økes med 1 , og FILTER -funksjonen oppdaterer beregningen inkludert den.
  • Dermed formelen forblir alltid dynamisk.

Merk:

Hvis du ønsker å få merkene sammen med navnene i listen, endrer du bare det femte argumentet til den første OFFSET -funksjonen fra 1 til 2 .

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

Case 2: Basert på flere kriterier

La oss prøve flere kriterier denne gangen.

Vi skal prøve å lage en dynamisk liste over elevene som fikk karakterer mer enn eller lik 60, men hvis IDer er mindre enn eller lik 200 .

Du kan bruke denne formelen:

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

Som du ser har vi en liste over alle elevene som fikk mer enn 60 og har ID er mindre enn 200 .

Og det er ikke nødvendig å si det, dette er en dynamisk liste.

Hvis du endrer en verdi eller legger til en ny elev i datasettet, vil listen justeres automatisk.

Forklaring av formelen:

  • Her har vi multiplisert to dynamiske områder med kriterier, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Hvis du har mer enn 2 kriterier, multipliser alle områdene av kriterier på samme måte.
  • Resten er det samme som forrige eksempel (av enkeltkriterier). OFFSET -funksjonen i kombinasjon med COUNTA -funksjonen har blitt brukt for å holde formelen dynamisk.

Merk:

Hvis du vil se alle kolonnene i listen ( Kolonne B, C, og D i dette eksemplet), endre det første argumentet til den første OFFSET -funksjonen til den første kolonnen ( B5 i dette eksemplet), og det femte argumentet til det totale antallet kolonner ( 3 i dette eksemplet).

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

Les mer: Excel Create Dynamic Liste fra tabell (3 enkle måter)

2. Bruke INDEX-MATCH med andre funksjoner (for gamle versjoner)

De som ikke har en Office 365 -abonnementet kan ikke bruke formelen ovenfor.

Jeg viser en mer kompleks måte for de som bruker den eldre versjonen av Excel, ved å bruke INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, og COUNTIFS funksjoner i Excel. Merk at disse formlene er matriseformler. Så for å bruke dem i eldre versjoner av Excel, må du trykke Ctrl+Shift+Enter i stedet for bare Enter.

Tilfelle 1: Basert på enkeltkriterier

Formelen for å lage en dynamisk liste over elevene som fikk mer enn eller lik 60 vil være:

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

Som du ser har vi igjen fått navn på alle elevene som fikk mer enn eller lik 60 .

Denne gangen har vi kommet oppoverrekkefølgen på tallene.

Og ja, listen er dynamisk. Legg til en ny elev i datasettet, eller endre karakterene til en hvilken som helst elev i datasettet.

Listen justeres automatisk.

Forklaring av Formelen:

  • Her C:C er kolonnen som vi ønsker å trekke ut innholdet i listen ( Studentnavn i denne eksempel). Du bruker din.
  • D:D er kolonnen der kriteriet ligger ( Gjennomsnittskarakterer i dette eksemplet). Du bruker din.
  • C5 og D5 er cellene der dataene mine er startet (rett under Kolonneoverskriftene ). Du bruker din.
  • “>=60” er mitt kriterium (større enn eller lik 60 i dette eksemplet). Du bruker din.
  • Bortsett fra disse få endringene, hold resten av formelen uendret og bruk den i datasettet ditt. Du vil få en dynamisk liste i henhold til ønsket kriterium.

Case 2: Based on Multiple Criteria

The INDEX-MATCH formelen for den dynamiske listen basert på flere kriterier er litt mer kompleks. Likevel viser jeg det.

Formelen for å få navnene på elevene som fikk karakterer større enn eller lik 60 , men som har ID er mindre enn 200 vil være;

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

Forklaring av formelen:

  • Her C:C er kolonnen vi ønsker fra tiltrekke ut innholdet i listen ( Studentnavn i dette eksemplet). Du bruker din.
  • B:B og D:D er kolonnene der kriteriene ligger ( Student ID og Gjennomsnittlig karakter i dette eksemplet). Du bruker din.
  • B5, C5, og D5 er cellene der dataene mine er startet (like under Kolonneoverskriftene<4)>). Du bruker ditt ene.
  • Jeg har multiplisert to kriterier her: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Hvis du har mer enn to kriterier, multipliser deretter.
  • Jeg har igjen brukt de to kriteriene inne i denne COUNTIFS -funksjonen: COUNTIFS(B:B,"=60") . Du bruker dine tilsvarende.
  • Behold resten av formelen uendret og bruk den i datasettet ditt. Du vil få en dynamisk liste med flere kriterier.

Les mer: Hvordan lage en dynamisk datavalideringsliste med VBA i Excel

3 . Lag en dynamisk rullegardinliste basert på kriterier ved hjelp av datavalideringsverktøy

Nå har vi laget den dynamiske listen. Hvis du vil, kan du lage en dynamisk rullegardinliste i hvilken som helst celle i regnearket.

  • For å lage den dynamiske rullegardinlisten, velg en hvilken som helst celle i regnearket ditt. og gå til Data > Datavalidering > Datavalidering under Dataverktøy -delen.

  • Du får Datavalidering dialogboks. Under alternativet Tillat velger du Liste . Og under Kilde -alternativet,skriv inn referansen til den første cellen der listen er i regnearket sammen med en HashTag (#) ( $E$5# i dette eksemplet).

  • Klikk deretter OK . Du vil få en rullegardinliste i den valgte cellen som denne.

Les mer: Hvordan lage dynamisk rullegardinliste ved å bruke VBA i Excel

Hvordan lage en dynamisk unik liste i Excel basert på kriterier

I denne delen vil vi vise hvordan du lager en unik liste i Excel basert på kriterier. Vi vil bruke en kombinasjon av UNIQUE og FILTER funksjoner. Vi modifiserte datasettet og la til hver elevs favorittspill. Nå vil du vite navnet på spill som fjerner duplikater med kriterier. Kriteriene er gjennomsnittskarakterer for elevene må være større enn 60 .

📌 Trinn:

  • Plasser formelen basert på kombinasjonen av UNIQUE - og FILTER -funksjoner på celle G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Vi får en unik liste basert på kriterier.

Forklaring av formelen:

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

Dette filtrerer verdiene til Rekkevidde E5:E25 , med en betingelse om at gjennomsnittskarakterer må være over 60 .

Resultat: [Tennis, Volleyball, Rugby, Tennis, Football, Rugby, Rugby, fotball]

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

Dette returnerer alt det unikeverdier fra forrige resultat.

Resultat: [Tennis, volleyball, rugby, fotball]

Konklusjon

Bruk av disse metoder, kan du lage en dynamisk liste basert på enkelt eller flere kriterier i et hvilket som helst datasett i Excel. Ta en titt på nettsiden vår ExcelWIKI og gi forslagene dine i kommentarfeltet.

Hugh West er en svært erfaren Excel-trener og analytiker med over 10 års erfaring i bransjen. Han har en bachelorgrad i regnskap og finans og en mastergrad i bedriftsøkonomi. Hugh har en lidenskap for undervisning og har utviklet en unik undervisningstilnærming som er enkel å følge og forstå. Hans ekspertkunnskap om Excel har hjulpet tusenvis av studenter og fagfolk over hele verden med å forbedre sine ferdigheter og utmerke seg i karrieren. Gjennom bloggen sin deler Hugh sin kunnskap med verden, og tilbyr gratis Excel-opplæringer og nettbasert opplæring for å hjelpe enkeltpersoner og bedrifter å nå sitt fulle potensial.