Kazalo
Danes bom pokazal, kako v Excelu ustvariti dinamični seznam na podlagi enega ali več meril.
Prenesi delovni zvezek za prakso
Dinamični seznam na podlagi meril.xlsx
Kaj je dinamični seznam v programu Excel?
Dinamični seznam je seznam, ki je ustvarjen iz nabora podatkov in se samodejno posodablja, ko se spremeni katera koli vrednost v prvotnem naboru podatkov ali se prvotnemu naboru podatkov dodajo nove vrednosti.
Na dani sliki je seznam imen vseh učencev, ki so dobili ocene, višje od 60 na izpitu.
Če spremenite oznake Jennifer Marlo iz 68 na . 58 in dodajte novega študenta z imenom Ross Smith z ocenami 81 v tabeli, se bo seznam samodejno prilagodil.
To se imenuje dinamični seznam.
3 načini za ustvarjanje dinamičnega seznama v Excelu na podlagi meril
Tu imamo nabor podatkov z Študentske izkaznice, Imena, in . Marks nekaterih učencev v šoli, imenovani Sunflower vrtec.
Naš današnji cilj je ustvariti dinamični seznam na podlagi meril iz tega nabora podatkov. Danes bomo uporabili eno in več meril.
1. Uporaba funkcij FILTER in OFFSET (za nove različice programa Excel)
Najprej bomo uporabili kombinacijo FILTER , OFFSET in COUNTA funkcije programa Excel.
Spletna stran FILTER funkcija je na voljo v Office 365 To je namenjeno le tistim, ki imajo Office 365 naročnina.
Primer 1: na podlagi enega samega merila
Poskusimo sestaviti dinamični seznam učencev, katerih povprečna ocena je večja ali enaka 60 .
Uporabite lahko to formulo:
=FILTER(OFFSET(C5,0,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)
Kot lahko vidite, smo dobili seznam vseh učencev, ki so dobili več kot 60 .
To je seveda dinamičen seznam. V podatkovnem nizu lahko spremenite katero koli vrednost ali vanj dodate katero koli novo vrednost.
Seznam se samodejno prilagodi.
Razlaga formule:
COUNTA(C:C)
vrne število vrstic v stolpcu C, ki niso prazne.COUNTA(C:C)-1
vrne število vrstic, ki imajo vrednosti brez Glava stolpca ( Ime in priimek učenca v tem primeru).- Če nimate Glava stolpca , uporabite
COUNTA(C:C)
OFFSET (C5,0,0,0,COUNTA(C:C)-1,1)
se začne v celici C5 (Ime prvega učenca) in vrne obseg imen vseh učencev.- Spletna stran OFFSET v kombinaciji s funkcijo Funkcija COUNTIF Če se v nabor podatkov doda še en učenec, se v formulo vnese
COUNTA(C:C)-1
se bo formula povečala za 1 in OFFSET funkcija bo vključevala učenca. - Podobno,
OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60
vrne TRUE za vse oznake, ki so večje ali enake 60 . - Končno,
FILTER(OFFSET(C5,0,0,0,COUNTA(C:C)-1,1),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)
vrne seznam vseh učencev, ki so dobili ocene, višje od 60 . - Če je v niz podatkov dodan nov učenec,
COUNTA(C:C)-1
se poveča za 1 in FILTER osveži izračun, ki ga vključuje. - Tako formula vedno ostaja dinamična.
Opomba:
Če želite dobiti oznake skupaj z imeni na seznamu, spremenite peti argument prvega OFFSET funkcijo iz 1 na . 2 .
=FILTER(OFFSET(C5,0,0,0,COUNTA(C:C)-1,2),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)
Primer 2: na podlagi več meril
Tokrat poskusimo z več merili.
Poskusili bomo ustvariti dinamični seznam učencev, ki so dobili ocene, večje ali enake 60, vendar so njihovi ID-ji manjši ali enaki 200 .
Uporabite lahko to formulo:
=FILTER(OFFSET(C5,0,0,0,COUNTA(C:C)-1,1),(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200))
Kot lahko vidite, smo dobili seznam vseh učencev, ki so dobili ocene, višje od 60 in imajo ID manj kot 200 .
In ni treba povedati, da je to dinamičen seznam.
Če spremenite katero koli vrednost ali v podatkovni niz dodate novega učenca, se seznam samodejno prilagodi.
Razlaga formule:
- Tu smo pomnožili dva dinamična razpona meril,
(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)
- Če imate več kot 2 merila, pomnožite vsa območja meril na enak način.
- Vse ostalo je enako kot v prejšnjem primeru (eno samo merilo). OFFSET v kombinaciji s funkcijo COUNTA je bila uporabljena funkcija za ohranjanje dinamičnosti formule.
Opomba:
Če želite videti vse stolpce na seznamu ( Stolpca B, C, in . D v tem primeru), spremenite prvi argument prvega OFFSET funkcijo v prvi stolpec ( B5 v tem primeru), peti argument pa skupno število stolpcev ( 3 v tem primeru).
=FILTER(OFFSET(B5,0,0,0,COUNTA(C:C)-1,3),(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200))
Preberi več: Excel Ustvari dinamični seznam iz tabele (3 preprosti načini)
2. Uporaba funkcije INDEX-MATCH z drugimi funkcijami (za starejše različice)
Tisti, ki nimajo Office 365 naročnine ne morete uporabiti zgornje formule.
Za tiste, ki uporabljajo starejšo različico programa Excel, prikazujem bolj zapleten način z uporabo INDEX-MATCH, OFFSET, SMALL, IF, ROW, COUNTIF, in . COUNTIFS Opozoriti je treba, da so te formule formule v obliki polja. Če jih želite uporabiti v starejših različicah programa Excel, morate pritisniti Ctrl+Shift+Enter namesto samo Enter.
Primer 1: na podlagi enega samega merila
Formula za ustvarjanje dinamičnega seznama učencev, ki so dobili več ali enako 60, je naslednja:
=INDEX(OFFSET(C5,0,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60,
OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIF(D:D,">=60")))),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),0),1),1)
Kot lahko vidite, smo ponovno dobili imena vseh učencev, ki so dobili več ali enako 60 .
Tokrat smo številke razvrstili po naraščajočem vrstnem redu.
In da, seznam je dinamičen. V podatkovni niz lahko dodate novega učenca ali spremenite ocene katerega koli učenca v podatkovnem nizu.
Seznam se samodejno prilagodi.
Razlaga formule:
- Tukaj C:C je stolpec, iz katerega želimo izpisati vsebino seznama ( Ime in priimek učenca v tem primeru). Uporabite svoj.
- D:D je stolpec, v katerem je merilo ( Povprečne ocene v tem primeru). Uporabite svoj.
- C5 in . D5 so celice, iz katerih so se začeli podatki (tik pod Naslovi stolpcev ). Uporabite svojo.
- ">=60" je moje merilo (večje ali enako 60 v tem primeru). Uporabite svoj.
- Razen teh nekaj sprememb ohranite preostalo formulo nespremenjeno in jo uporabite v svojem naboru podatkov. Dobili boste dinamični seznam glede na želeno merilo.
Primer 2: na podlagi več meril
Spletna stran INDEX-MATCH formula za dinamični seznam na podlagi več meril je nekoliko bolj zapletena. Kljub temu jo prikazujem.
Enačba za pridobitev imen učencev, ki so dobili ocene, večje ali enake 60 , vendar imajo ID manj kot 200 bo;
=INDEX(OFFSET(C5,0,0,0,COUNTA(C:C)-1,1),MATCH(SMALL(IF((OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*
(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),""),ROW(A1:INDIRECT("A"&COUNTIFS(B:B,"=60")))),OFFSET(D5,0,0,0,COUNTA(D:D)-1,1),0),1)
Razlaga formule:
- Tukaj C:C je stolpec, iz katerega želimo izpisati vsebino seznama ( Ime in priimek učenca v tem primeru). Uporabite svoj.
- B: B in . D:D so stolpci, v katerih ležijo merila ( Študentska izkaznica in . Povprečne ocene v tem primeru). Uporabite svoj.
- B5, C5, in . D5 so celice, iz katerih so se začeli podatki (tik pod Naslovi stolpcev ). Uporabite svojo.
- Tu sem pomnožil dve merili:
(OFFSET(D5,0,0,0,COUNTA(D:D)-1,1)>=60)*(OFFSET(B5,0,0,0,COUNTA(B:B)-1,1)<=200)
.Če imate več kot dve merili, jih ustrezno pomnožite. - Ponovno sem uporabil dve merili znotraj tega COUNTIFS funkcijo:
COUNTIFS(B:B,"=60")
. Tiste, ki jih imate, uporabite v skladu s tem. - Preostali del formule ostane nespremenjen in ga uporabite v naboru podatkov. Dobili boste dinamični seznam z več merili.
Preberite več: Kako ustvariti dinamični seznam za preverjanje podatkov z uporabo VBA v Excelu
3. Ustvarjanje dinamičnega spustnega seznama na podlagi meril z orodjem za preverjanje podatkov
Zdaj smo ustvarili dinamični seznam. Če želite, lahko ustvarjanje dinamičnega spustnega seznama v katero koli celico delovnega lista.
- Če želite ustvariti dinamični spustni seznam, izberite katero koli celico v delovnem listu in pojdite na Podatki> Potrjevanje podatkov> Potrjevanje podatkov v okviru Podatkovna orodja oddelek.
- Dobili boste Potrjevanje podatkov pogovorno okno. Pod Omogočite Izberite možnost Seznam In pod Vir: vnesite sklic na prvo celico, v kateri je seznam v delovnem listu, in HashTag (#) ( $E$5# v tem primeru).
- Nato kliknite V REDU . V izbrani celici boste dobili spustni seznam, kot je ta.
Preberite več: Kako ustvariti dinamični spustni seznam z uporabo VBA v Excelu
Kako ustvariti dinamični edinstveni seznam v Excelu na podlagi meril
V tem razdelku bomo pokazali, kako v Excelu ustvariti edinstven seznam na podlagi meril. Uporabili bomo kombinacijo UNIKATNI in . FILTER funkcije. Spremenili smo podatkovno množico in dodali najljubše igre vsakega učenca. Zdaj želimo izvedeti imena iger, pri katerih smo odstranili podvojene igre z merili. Merila so povprečne ocene učencev, ki morajo biti večje od 60 .
📌 Koraki:
- Vnesite formulo, ki temelji na kombinaciji UNIKATNI in . FILTER funkcije na Celica G5 .
=UNIQUE(FILTER(E5:E25,(D5:D25>60))
Na podlagi meril dobimo edinstven seznam.
Razlaga formule:
- FILTER(E5:E25,(D5:D25>60)
To filtrira vrednosti Razpon E5: E25 , pri čemer mora biti povprečna ocena višja od 60 .
Rezultat: [tenis, odbojka, ragbi, tenis, nogomet, ragbi, ragbi, ragbi, nogomet]
- UNIQUE(FILTER(E5:E25,(D5:D25>60))
To vrne vse edinstvene vrednosti iz prejšnjega rezultata.
Rezultat: [tenis, odbojka, ragbi, nogomet]
Zaključek
S temi metodami lahko ustvarite dinamični seznam na podlagi enega ali več meril v katerem koli podatkovnem nizu v programu Excel. Oglejte si našo spletno stran ExcelWIKI in podajte svoje predloge v polju za komentarje.