Sadržaj
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.