Koristite nazive dinamičkog raspona u Excelu za fleksibilne padajuće izbornike

Excel proračunske tablice često uključuju padajuće izbornike ćelija kako bi se pojednostavio i/ili standardizirao unos podataka. Ovi padajući izborniki kreirani su pomoću značajke provjere valjanosti podataka za određivanje popisa dopuštenih unosa.

Da biste postavili jednostavan padajući popis, odaberite ćeliju u koju će se unositi podaci, zatim kliknite Provjera valjanosti podataka(Data Validation) (na kartici Podaci(Data) ), odaberite Provjera valjanosti podataka(Data Validation) , odaberite Popis(List) (pod Dopusti(Allow) :), a zatim unesite stavke popisa (odvojene zarezima ) u polju Izvor(Source) : (vidi sliku 1).

U ovoj vrsti osnovnog padajućeg izbornika, popis dopuštenih unosa naveden je unutar same provjere valjanosti podataka; stoga, da bi izvršio izmjene na popisu, korisnik mora otvoriti i urediti provjeru valjanosti podataka. To može biti teško, međutim, za neiskusne korisnike ili u slučajevima kada je popis izbora podugačak.

Druga je mogućnost smjestiti popis u imenovani raspon unutar proračunske tablice(named range within the spreadsheet) , a zatim navesti taj naziv raspona (s predznakom jednakosti) u polju Izvor(Source) : provjere valjanosti podataka (kao što je prikazano na slici 2(Figure 2) ).

Ova druga metoda olakšava uređivanje izbora na popisu, ali dodavanje ili uklanjanje stavki može biti problematično. Budući da se imenovani raspon ( FruitChoices , u našem primjeru) odnosi na fiksni raspon ćelija ($H$3:$H$10 kao što je prikazano), ako se u ćelije H11 ili ispod doda više izbora, one se neće pojaviti u padajućem izborniku (budući da te ćelije nisu dio asortimana FruitChoices ).

Isto tako, ako se, na primjer, izbrišu unosi Kruške(Pears) i jagode , oni se više neće pojavljivati ​​u padajućem izborniku, već će umjesto toga padajući izbornik uključivati ​​dva "prazna" izbora jer padajući izbornik i dalje upućuje na cijeli raspon FruitChoices, uključujući prazne ćelije H9 i (Strawberries)H10 .

Iz tih razloga, kada koristite uobičajeni imenovani raspon kao izvor popisa za padajući izbornik, sam imenovani raspon mora se urediti tako da uključuje više ili manje ćelija ako se unosi dodaju ili brišu s popisa.

Rješenje ovog problema je korištenje imena dinamičkog(dynamic) raspona kao izvora za padajuće izbore. Naziv dinamičkog raspona je onaj koji se automatski širi (ili skuplja) kako bi točno odgovarao veličini bloka podataka kako se unosi dodaju ili uklanjaju. Da biste to učinili, koristite formulu(formula) , umjesto fiksnog raspona adresa ćelija, za definiranje imenovanog raspona.

Kako postaviti dinamički raspon(Dynamic Range) u Excelu(Excel)

Normalni (statički) naziv raspona odnosi se na određeni raspon ćelija ($H$3:$H$10 u našem primjeru, pogledajte dolje):

Ali dinamički raspon definira se pomoću formule (pogledajte dolje, preuzetu iz zasebne proračunske tablice koja koristi nazive dinamičkog raspona):

Prije nego što počnemo, provjerite jeste li preuzeli našu Excel datoteku primjera  (makronaredbe za sortiranje su onemogućene).

Proučimo ovu formulu detaljno. Izbori za Voće su u bloku ćelija neposredno ispod naslova ( VOĆE(FRUITS) ). Tom naslovu je također dodijeljen naziv: FruitsHeading :

Cijela formula koja se koristi za definiranje dinamičkog raspona za izbor voća(Fruits) je:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(OFFSET(FruitsHeading,1,0,20,1)),0,0),0)-1,20),1)

FruitsHeading se odnosi na naslov koji je jedan red iznad prvog unosa na popisu. Broj 20 (koristi se dva puta u formuli) je maksimalna veličina (broj redaka) za popis (ovo se može prilagoditi po želji).

Imajte na umu da u ovom primjeru postoji samo 8 unosa na popisu, ali postoje i prazne ćelije ispod njih u koje se mogu dodati dodatni unosi. Broj 20 odnosi se na cijeli blok u koji se mogu unositi, a ne na stvarni broj unosa.

Sada raščlanimo formulu na dijelove (kodiranje bojom svakog dijela) da bismo razumjeli kako funkcionira:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(OFFSET(FruitsHeading,1,0,20,1)),0,0),0)-1,20),1)

"Najnutarnji" komad je OFFSET (FruitsHeading,1,0,20,1) . Ovo upućuje na blok od 20 ćelija (ispod ćelije FruitsHeading ) gdje se mogu unijeti izbori. Ova funkcija OFFSET u osnovi kaže: Počnite od ćelije FruitsHeading , idite dolje za 1 red i preko 0 stupaca, zatim odaberite područje koje je dugačko 20 redaka i široko 1 stupac. To nam daje blok od 20 redaka u koji se unose izbori voća .(Fruits)

Sljedeći dio formule je funkcija ISBLANK :

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(the above),0,0),0)-1,20),1)

Ovdje je funkcija OFFSET (objašnjena gore) zamijenjena s "gore" (kako bi se stvari lakše čitale). Ali funkcija ISBLANK djeluje na rasponu ćelija od 20 redaka koje definira funkcija OFFSET .

ISBLANK zatim stvara skup od 20 vrijednosti TRUE i FALSE , pokazujući je li svaka od pojedinačnih ćelija u rasponu od 20 redaka na koje upućuje funkcija OFFSET prazna (prazna) ili nije. (OFFSET)U ovom primjeru, prvih 8 vrijednosti u skupu bit će FALSE jer prvih 8 ćelija nije praznih, a posljednjih 12 vrijednosti bit će TRUE .

Sljedeći dio formule je funkcija INDEX :

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(the above,0,0),0)-1,20),1)

Opet, "gore" se odnosi na gore opisane funkcije ISBLANK i OFFSET . Funkcija INDEX vraća niz koji sadrži 20 vrijednosti TRUE / FALSE koje je kreirala funkcija ISBLANK .

INDEX se obično koristi za odabir određene vrijednosti (ili raspona vrijednosti) iz bloka podataka, navođenjem određenog retka i stupca (unutar tog bloka). Ali postavljanje unosa retka i stupca na nulu (kao što je ovdje učinjeno) uzrokuje da INDEX vrati niz koji sadrži cijeli blok podataka.

Sljedeći dio formule je MATCH funkcija:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,the above,0)-1,20),1)

Funkcija MATCH vraća poziciju prve vrijednosti TRUE , unutar niza koji vraća funkcija INDEX . Budući da prvih 8 unosa na popisu nije prazno, prvih 8 vrijednosti u nizu bit će FALSE , a deveta vrijednost će biti TRUE (budući da je 9. redak u rasponu prazan).

Dakle, funkcija MATCH će vratiti vrijednost 9 . U ovom slučaju, međutim, stvarno želimo znati koliko je unosa na popisu, pa formula oduzima 1 od vrijednosti MATCH (što daje poziciju posljednjeg unosa). Dakle, u konačnici, MATCH ( TRUE ,gore,0)-1 vraća vrijednost 8 .

Sljedeći dio formule je funkcija IFERROR :

=OFFSET(FruitsHeading,1,0,IFERROR(the above,20),1)

Funkcija IFERROR vraća zamjensku vrijednost, ako prva navedena vrijednost rezultira pogreškom. Ova funkcija je uključena jer, ako je cijeli blok ćelija (svih 20 redaka) popunjen unosima, funkcija MATCH će vratiti pogrešku.

To je zato što mi govorimo funkciji MATCH da traži prvu vrijednost TRUE (u nizu vrijednosti iz funkcije ISBLANK ), ali ako NIJEDNA(NONE) ćelija nije prazna, tada će cijeli niz biti popunjen s FALSE vrijednostima. Ako MATCH ne može pronaći ciljnu vrijednost ( TRUE ) u nizu koji pretražuje, vraća pogrešku.

Dakle, ako je cijeli popis pun (i stoga MATCH vraća pogrešku), funkcija IFERROR će umjesto toga vratiti vrijednost 20 (znajući da na popisu mora biti 20 unosa).

Konačno, OFFSET(FruitsHeading,1,0,gore,1)(OFFSET(FruitsHeading,1,0,the above,1)) vraća raspon koji zapravo tražimo: Počnite od ćelije FruitsHeading , idite dolje za 1 red i preko 0 stupaca, zatim odaberite područje koje ima koliko god redaka dugačko postoje unosi na popisu (i širine 1 stupca). Dakle, cijela formula zajedno će vratiti raspon koji sadrži samo stvarne unose (do prve prazne ćelije).

Korištenje ove formule za definiranje raspona koji je izvor za padajući izbornik znači da možete slobodno uređivati ​​popis (dodavanje ili uklanjanje unosa, sve dok preostali unosi počinju u gornjoj ćeliji i su susjedni), a padajući izbornik uvijek će odražavati trenutni popis (vidi sliku 6(Figure 6) ).

Primjer datoteke (Dinamički popisi) koja je ovdje korištena je uključena i može se preuzeti s ove web stranice. Međutim, makronaredbe ne rade jer WordPress ne voli Excel knjige s makronaredbama u njima.

Kao alternativa određivanju broja redaka u bloku popisa, bloku popisa može se dodijeliti vlastiti naziv raspona, koji se zatim može koristiti u modificiranoj formuli. U datoteci primjera, drugi popis ( Imena(Names) ) koristi ovu metodu. Ovdje je cijelom bloku popisa (ispod naslova “NAMES”, 40 redaka u datoteci primjera) dodijeljen naziv raspona NameBlock . Alternativna formula za definiranje popisa imena(NamesList) je tada:

=OFFSET(NamesHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(NamesBlock),0,0),0)-1,ROWS(NamesBlock)),1)

gdje NamesBlock zamjenjuje OFFSET ( FruitsHeading,1,0,20,1 ) i ROWS(NamesBlock) zamjenjuje 20 (broj redaka) u ranijoj formuli.

Dakle, za padajuće popise koji se mogu lako uređivati ​​(uključujući druge korisnike koji možda nemaju iskustva), pokušajte koristiti nazive dinamičkog raspona! I imajte na umu da, iako je ovaj članak bio usredotočen na padajuće popise, nazivi dinamičkog raspona mogu se koristiti bilo gdje gdje trebate referencirati raspon ili popis koji može varirati u veličini. Uživati!



About the author

Računalni sam tehničar koji godinama radi s Androidom i uredskim softverom. Također podučavam ljude kako koristiti Mac računala zadnjih 5 godina. Ako tražite nekoga tko zna kako popraviti stvari na vašem računalu, vjerojatno vam mogu pomoći!



Related posts