Sadržaj
Danas ću vam pokazati kako izraditi dinamički popis na temelju jednog ili više kriterija u programu Excel.
Preuzmi radnu bilježnicu
Dinamički popis temeljen na Criteria.xlsx
Što je dinamički popis u Excelu?
Dinamički popis je popis koji se stvara iz skupa podataka i automatski se ažurira kada se bilo koja vrijednost u izvornom skupu podataka promijeni ili se nove vrijednosti dodaju izvornom skupu podataka.
Na danoj slici imamo popis imena svih učenika koji su na ispitu dobili ocjene veće od 60 .
Sada ako promijenite ocjene Jennifer Marlo s 68 na 58 i dodate novog učenika po imenu Ross Smith s ocjenama 81 u tablici, popis će automatski se prilagođava.
Ovo se zove dinamički popis.
3 načina za stvaranje dinamičkog popisa u Excelu na temelju kriterija
Ovdje imamo skup podataka s Identifikacijskim brojevima učenika, Imenima, i Ocjenama nekih učenika u školi koja se zove Sunflower kindergarten.
Naš današnji cilj je napraviti dinamički popis na temelju kriterija iz ovog skupa podataka. Danas ćemo koristiti i jedan i više kriterija.
1. Korištenje funkcija FILTER i OFFSET (za nove verzije programa Excel)
Prije svega, koristit ćemo kombinaciju FILTER , OFFSET i COUNTA funkcije programa Excel.
Funkcija FILTER dostupan je samo u Office 365 . Dakle, ovo je samo za one koji imaju pretplatu na Office 365 .
Slučaj 1: Na temelju jednog kriterija
Pokušajmo napraviti dinamički popis učenika čije su prosječne ocjene veće ili jednake 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 popis svih učenika koji su dobili više od 60 .
I očito je da je ovo dinamika popis. Možete promijeniti bilo koju vrijednost u skupu podataka ili dodati bilo koju novu vrijednost u skupu podataka.
Popis će se automatski prilagoditi.
Objašnjenje formule:
-
COUNTA(C:C)
vraća broj redaka u stupcu C koji nisu prazni. Dakle,COUNTA(C:C)-1
vraća broj redaka koji imaju vrijednosti bez Zaglavlja stupca ( Ime učenika u ovom primjeru). - Ako ne nemate Zaglavlje stupca , 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 niz imena svih učenika. - Funkcija OFFSET u kombinaciji s funkcijom COUNTIF korištena je za održavanje dinamičnosti formule. Ako se skupu podataka doda još jedan učenik, formula
COUNTA(C:C)-1
će se povećati za 1 , a funkcija OFFSET uključit će 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 popis svih učenika koji su dobili ocjene više od 60 . - Ako svaki se novi učenik dodaje u skup podataka,
COUNTA(C:C)-1
povećava se za 1 , a funkcija FILTER osvježava izračun uključujući i njega. - Dakle formula uvijek ostaje dinamična.
Napomena:
Ako želite dobiti oznake zajedno s imenima na popisu, samo promijenite peti argument od 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 temelju više kriterija
Pokušajmo ovaj put s više kriterija.
Pokušat ćemo napraviti dinamički popis učenika koji dobili su 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 popis svih učenika koji su dobili više od 60 i imaju ID manje od 200 .
I nema potrebe reći, ovo je dinamičan popis.
Ako promijenite bilo koju vrijednost ili dodate bilo kojeg novog učenika skupu podataka, popis ć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 kriterije na isti način.
- Ostalo je isto kao u prethodnom primjeru (jednog kriterija).Funkcija OFFSET u kombinaciji s funkcijom COUNTA korištena je kako bi formula bila dinamična.
Napomena:
Ako želite vidjeti sve stupce na popisu ( Stupci B, C, i D u ovom primjeru), promijenite prvi argument prvog OFFSET-a na prvi stupac ( B5 u ovom primjeru), a peti argument na ukupni broj stupaca ( 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 Create Dynamic Popis iz tablice (3 laka načina)
2. Korištenje INDEX-MATCH-a s drugim funkcijama (za stare verzije)
Oni koji nemaju Pretplata na Office 365 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 polja. Dakle, da biste ih primijenili u starijim verzijama Excela, morate pritisnuti Ctrl+Shift+Enter umjesto samo Enter.
Slučaj 1: Na temelju jednog kriterija
Formula za izradu dinamičke liste učenika koji su dobili više od 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, ponovno 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, popis je dinamičan. Dodajte novog učenika u skup podataka ili promijenite ocjene bilo kojeg učenika u skupu podataka.
Popis će se automatski prilagoditi.
Objašnjenje formula:
- Ovdje C:C je stupac iz kojeg želimo izdvojiti sadržaj popisa ( Ime učenika u ovom primjer). Vi koristite svoj.
- D:D je stupac u kojem se nalazi kriterij ( Prosječne ocjene u ovom primjeru). Vi koristite svoju.
- C5 i D5 ćelije su odakle su moji podaci započeti (odmah ispod Zaglavlja stupaca ). Vi koristite svoj.
- “>=60” moj je kriterij (veće ili jednako 60 u ovom primjeru). Vi koristite svoju.
- Osim ovih nekoliko promjena, ostavite ostatak formule nepromijenjenim i koristite ga u svom skupu podataka. Dobit ćete dinamički popis prema željenom kriteriju.
Slučaj 2: Na temelju više kriterija
INDEX-MATCH formula za dinamički popis temeljen na više kriterija malo je složenija. Ipak, pokazujem ga.
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 doizdvojite sadržaj popisa ( Ime učenika u ovom primjeru). Vi koristite svoj.
- B:B i D:D su stupci u kojima se nalaze kriteriji ( ID učenika i Prosječne ocjene u ovom primjeru). Vi koristite svoju.
- B5, C5, i D5 ćelije su odakle su moji podaci započeti (odmah ispod Zaglavlja stupaca ). 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 ih prema tome. - Opet sam upotrijebio dva kriterija unutar ove COUNTIFS funkcije:
COUNTIFS(B:B,"=60")
. Koristite svoje u skladu s tim. - Ostatak formule zadržite nepromijenjen i koristite ga u svom skupu podataka. Dobit ćete dinamički popis s više kriterija.
Pročitajte više: Kako napraviti dinamički popis za provjeru valjanosti podataka pomoću VBA u programu Excel
3 . Napravite dinamički padajući popis na temelju kriterija pomoću alata za provjeru valjanosti podataka
Sada smo izradili dinamički popis. Ako želite, možete stvoriti dinamički padajući popis u bilo kojoj ćeliji vašeg radnog lista.
- Da biste stvorili dinamički padajući popis, odaberite bilo koju ćeliju na svom radnom listu i idite na Podaci > Provjera valjanosti podataka > Validacija podataka u odjeljku Alati za podatke .
- Dobit ćete Provjeru valjanosti podataka dijaloški okvir. Pod opcijom Dopusti odaberite Popis . I pod opcijom Izvor ,unesite referencu prve ćelije u kojoj se nalazi popis na vašem radnom listu zajedno s HashTag (#) ( $E$5# u ovom primjeru).
- Zatim kliknite U redu . Dobit ćete padajući popis u odabranoj ćeliji ovako.
Pročitajte više: Kako stvoriti dinamički padajući popis koristeći VBA u Excelu
Kako stvoriti dinamički jedinstveni popis u Excelu na temelju kriterija
U ovom odjeljku pokazat ćemo kako stvoriti jedinstveni popis u Excelu na temelju kriteriji. Koristit ćemo kombinaciju funkcija UNIQUE i FILTER . Izmijenili smo skup podataka i dodali omiljene igre svakog učenika. Sada, želite znati nazive igara koje uklanjaju duplikate s kriterijima. Kriterij je da prosječne ocjene učenika moraju biti veće od 60 .
📌 Koraci:
- Postavite formulu na temelju kombinacije funkcija UNIQUE i FILTER u ćeliju G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60)))
Dobijamo jedinstveni popis na temelju kriterija.
Objašnjenje formula:
- FILTER(E5:E25,(D5:D25>60)
Ovim se filtriraju vrijednosti Raspon E5:E25 , uz uvjet da prosječne ocjene moraju biti iznad 60 .
Rezultat: [Tenis, Odbojka, Ragbi, Tenis, Nogomet, Ragbi, Ragbi, Nogomet]
- JEDINSTVENO(FILTER(E5:E25,(D5:D25>60)))
Ovo vraća sve jedinstvenovrijednosti iz prethodnog rezultata.
Rezultat: [Tenis, Odbojka, Ragbi, Nogomet]
Zaključak
Koristeći ove metode, možete stvoriti dinamički popis na temelju jednog ili više kriterija u bilo kojem skupu podataka u Excelu. Molimo pogledajte našu web stranicu ExcelWIKI i dajte svoje prijedloge u okvir za komentare.