Kako napraviti dinamičku listu u Excelu na osnovu kriterija (3 načina)

  • Podijeli Ovo
Hugh West

Danas ću pokazati kako da kreirate dinamičku listu na osnovu jednog ili više kriterijuma u Excel-u.

Preuzmite Vježbenicu

Dinamička lista zasnovana na Criteria.xlsx

Šta je dinamička lista u Excelu?

Dinamička lista je lista koja se kreira iz skupa podataka i automatski se ažurira kada se bilo koja vrijednost u originalnom skupu podataka promijeni ili se nove vrijednosti dodaju originalnom skupu podataka.

Na datoj slici imamo spisak imena svih studenata koji su na ispitu dobili više od 60 .

Sada ako promijenite ocjene Jennifer Marlo iz 68 u 58 i dodate novog učenika po imenu Ross Smith sa ocjenama 81 u tabeli, lista će automatski se prilagođava.

Ovo se zove dinamička lista.

3 načina za kreiranje dinamičke liste u Excelu na osnovu kriterija

Ovdje imamo skup podataka sa ID-ovima učenika, Imenima, i Oznakama nekih učenika u školi koja se zove Sunflower kindergarten.

Naš cilj danas je da napravimo dinamičku listu na osnovu kriterijuma iz ovog skupa podataka. Danas ćemo koristiti i jedan i više kriterija.

1. Korištenje funkcija FILTER i OFFSET (za nove verzije Excela)

Prije svega, koristit ćemo kombinaciju FILTER , OFFSET i COUNTA funkcije Excela.

Funkcija FILTER dostupan je samo u Office 365 . Dakle, ovo je samo za one koji imaju pretplatu na Office 365 .

Slučaj 1: na osnovu jedinstvenih kriterija

Pokušajmo napraviti dinamički spisak učenika čiji su prosječni rezultati veći ili jednaki 60 .

Možete koristiti ovu formulu:

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

Kao što vidite, imamo listu svih učenika koji su dobili više od 60 .

I očigledno, ovo je dinamika lista. Možete promijeniti bilo koju vrijednost u skupu podataka ili dodati bilo koju novu vrijednost u skup podataka.

Lista će se automatski prilagoditi.

Objašnjenje formule:

  • COUNTA(C:C) vraća broj redova u koloni C koji nisu prazni. Dakle, COUNTA(C:C)-1 vraća broj redova koji imaju vrijednosti bez Zaglavlja kolone ( Ime učenika u ovom primjeru).
  • Ako ne ako imate Zaglavlje kolone , koristite COUNTA(C:C)
  • OFFSET(C5,0,0,COUNTA(C:C)-1,1) počinje od ćelije C5 (ime prvog učenika) i vraća raspon imena svih učenika.
  • Funkcija OFFSET u kombinaciji sa COUNTIF funkcijom je korištena za održavanje dinamičke formule. Ako se u skup podataka doda još jedan učenik, formula COUNTA(C:C)-1 će se povećati za 1 i funkcija OFFSET će uključiti učenika.
  • Slično, OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60 vraća TRUE za sve oznake koje su veće ili jednake 60 .
  • Konačno, FILTER(OFFSET(C5,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60) vraća listu svih učenika koji su dobili ocjene više od 60 .
  • Ako svaki novi učenik se dodaje u skup podataka, COUNTA(C:C)-1 povećava se za 1 , a funkcija FILTER osvježava proračun uključujući i njega.
  • Dakle formula uvijek ostaje dinamična.

Napomena:

Ako želite dobiti oznake zajedno s imenima na listi, samo promijenite peti argument prva funkcija OFFSET od 1 do 2 .

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

Slučaj 2: Na osnovu više kriterija

Pokušajmo ovaj put s više kriterija.

Pokušat ćemo napraviti dinamičku listu studenata koji dobio ocjene veće ili jednake 60, ali čiji su ID-ovi manji ili jednaki 200 .

Možete koristiti ovu formulu:

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

Kao što vidite, imamo spisak svih učenika koji su dobili više od 60 i imaju ID je manji od 200 .

I nema potrebe reći, ovo je dinamička lista.

Ako promijenite bilo koju vrijednost ili dodate novog učenika u skup podataka, lista će se automatski prilagoditi.

Objašnjenje formule:

  • Ovdje smo pomnožili dva dinamička raspona kriterija, (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200)
  • Ako imate više od 2 kriterija, pomnožite sve raspone kriteriji na isti način.
  • Ostalo je isto kao i prethodni primjer (pojedinačnih kriterija).Funkcija OFFSET u kombinaciji s funkcijom COUNTA korištena je za održavanje dinamičke formule.

Napomena:

Ako želite vidjeti sve stupce na listi ( Kolone B, C, i D u ovom primjeru), promijenite prvi argument prvog OFFSET funkciju za prvi stupac ( B5 u ovom primjeru), a peti argument za ukupan broj kolona ( 3 u ovom primjeru).

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

Pročitajte više: Excel Kreiraj Dynamic Lista iz tabele (3 laka načina)

2. Korišćenje INDEX-MATCH sa drugim funkcijama (za stare verzije)

Oni koji nemaju Office 365 pretplata ne može koristiti gornju formulu.

Pokazujem složeniji način za one koji koriste stariju verziju Excela, koristeći INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, i COUNTIFS funkcije programa Excel. Imajte na umu da su ove formule formule niza. Dakle, da biste ih primijenili u starijim verzijama Excela, trebate pritisnuti Ctrl+Shift+Enter umjesto samo Enter.

Slučaj 1: Na osnovu jednog kriterija

Formula za kreiranje dinamičke liste učenika koji su dobili više ili jednako 60 bit će:

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

Kao što vidite, ponovo smo dobili imena svih učenika koji su dobili više od ili jednako 60 .

Ovaj put smo ušli u usponredoslijed brojeva.

I da, lista je dinamična. Dodajte novog učenika u skup podataka ili promijenite ocjene bilo kojeg učenika u skupu podataka.

Lista će se automatski prilagoditi.

Objašnjenje Formula:

  • Ovdje C:C je kolona iz koje želimo izdvojiti sadržaj liste ( Ime učenika u ovom primjer). Vi koristite svoju.
  • D:D je kolona u kojoj se nalazi kriterij ( Prosječne ocjene u ovom primjeru). Vi koristite svoju.
  • C5 i D5 su ćelije odakle su započeti moji podaci (odmah ispod Zaglavlja kolona ). Vi koristite svoj.
  • “>=60” je moj kriterij (veće ili jednako 60 u ovom primjeru). Vi koristite svoju.
  • Osim ovih nekoliko izmjena, ostavite ostatak formule nepromijenjenom i koristite je u svom skupu podataka. Dobit ćete dinamičku listu prema vašem željenom kriteriju.

Slučaj 2: Na osnovu više kriterija

INDEX-MATCH formula za dinamičku listu zasnovanu na više kriterijuma je malo složenija. Ipak, pokazujem je.

Formula za dobivanje imena učenika koji su dobili ocjene veće ili jednake 60 , ali imaju ID manje od 200 bit će;

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

Objašnjenje formule:

  • Ovdje C:C je stupac iz kojeg želimo toizdvojiti sadržaj liste ( Ime učenika u ovom primjeru). Vi koristite svoj.
  • B:B i D:D su stupci u kojima se kriju kriteriji ( ID učenika i Prosječne ocjene u ovom primjeru). Vi koristite svoju.
  • B5, C5, i D5 su ćelije odakle su započeti moji podaci (odmah ispod Zaglavlja kolona ). Vi koristite svoj.
  • Ovdje sam pomnožio dva kriterija: (OFFSET(D5,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,COUNTA(B:B)-1,1)<=200) .Ako imate više od dva kriterija, pomnožite u skladu s tim.
  • Ponovo sam koristio dva kriterija unutar ove funkcije COUNTIFS : COUNTIFS(B:B,"=60") . U skladu s tim koristite svoje.
  • Ostavite ostatak formule nepromijenjenim i koristite je u svom skupu podataka. Dobićete dinamičku listu sa više kriterijuma.

Pročitajte više: Kako napraviti listu za dinamičku validaciju podataka koristeći VBA u Excelu

3 . Kreirajte dinamičku padajuću listu na osnovu kriterija pomoću alata za provjeru valjanosti podataka

Sada smo kreirali dinamičku listu. Ako želite, možete kreirati dinamičku padajuću listu u bilo kojoj ćeliji vašeg radnog lista.

  • Da kreirate dinamičku padajuću listu, odaberite bilo koju ćeliju na svom radnom listu i idite na Podaci > Validacija podataka > Validacija podataka u odjeljku Alati za podatke .

  • Dobit ćete Provjeru valjanosti podataka okvir za dijalog. Pod opcijom Dozvoli odaberite Lista . A pod opcijom Izvor ,unesite referencu prve ćelije u kojoj se nalazi lista na vašem radnom listu zajedno sa HashTagom (#) ( $E$5# u ovom primjeru).

  • Zatim kliknite na OK . Dobit ćete padajuću listu u odabranoj ćeliji ovako.

Pročitajte više: Kako kreirati dinamičku padajuću listu koristeći VBA u Excelu

Kako kreirati dinamičku jedinstvenu listu u Excelu na osnovu kriterijuma

U ovom odeljku ćemo pokazati kako da kreirate jedinstvenu listu u Excel-u na osnovu kriterijuma. Koristit ćemo kombinaciju funkcija UNIQUE i FILTER . Izmijenili smo skup podataka i dodali omiljene igre svakog učenika. Sada, želite znati naziv igara koje uklanjaju duplikate s kriterijima. Kriterijumi su da prosječne ocjene učenika moraju biti veće od 60 .

📌 Koraci:

  • Stavite formulu zasnovanu na kombinaciji funkcija UNIQUE i FILTER na ćeliju G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))

Dobijamo jedinstvenu listu na osnovu kriterija.

Objašnjenje Formula:

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

Ovo filtrira vrijednosti Raspon E5:E25 , uz uslov da prosječne ocjene moraju biti iznad 60 .

Rezultat: [tenis, odbojka, ragbi, tenis, fudbal, ragbi, Ragbi, fudbal]

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

Ovo vraća sve jedinstvenovrijednosti iz prethodnog rezultata.

Rezultat: [Tenis, Odbojka, Ragbi, Fudbal]

Zaključak

Upotreba ovih metodama, možete kreirati dinamičku listu na osnovu jednog ili više kriterijuma u bilo kom skupu podataka u programu Excel. Molimo pogledajte našu web stranicu ExcelWIKI i dajte svoje prijedloge u polju za komentare.

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.