List controle u Excelu

UVOD – APSOLUTNA I RELATIVNA ADRESA ĆELIJE U TABELI U MS EXCEL-u

RELATIVNA ADRESA ĆELIJE

Sve adrese ćelija (u obliku kako su prikazane na narednoj slici ) A2, A3, B4… su relativne adrese.

Prilikom upisa formule u jednu ćeliju (npr u C2) i daljnjim kopiranjem u ostale ćelije (C3 i C4) Excel sam određuje adrese ćelija u formuli i mijenja njihove relativne adrese.

Npr. ako u ćeliji C2 množimo ćelije A2*B2, Excel će u narednom redu, redu broj 3, ukoliko izvršimo kopiranje sadržaja ćelije C2 u C3, u ćeliji u koloni C promijeniti relativne adrese i dobićemo proizvod ćelija A3*B3..

APSOLUTNA ADRESA ĆELIJE

Ako želimo kopirati formulu iz ćelije u kojoj jedan od argumenat treba da bude uvijek adresa iste ćelije, možemo adresu te ćelije “fiksirati” i označiti ju kao Apsolutnu adresu. Ćelija dobija apsolutnu adresu na način što se i ispred oznake reda i ispred oznake kolone upiše znak $ (dolar)

Ukoliko nam je potrebno da se prilikom kopiranja sadržaja ćelije fiksira (ne mijenja) samo jedna od koordinata, imamo na raspolaganju mješovoto adresirnje – kombinovanje apsolutnog i relativnog djela adrese. Primjeri u nastavku prikazuju dvije varijante mješovitog adresiranja u Excelu

Primjetite da je na prethodnoj slici, u prvom primjeru kolona B označena kao apsolutna (ispred oznake kolone se nalazi znak $ (dolar) i stoga je nepromjenjiva prilikom kopiranja formule dok je red 2 promjenjiv).To znači da kada kopiramo ovako definisanu formulu, u kopiranoj formuli na novoj lokaciji promjeniće se broj reda a kopirana formula će pokazivati na kolonu B.

U drugom primjeru je kolona B promjenljiva prilikom kopiranja na neku novu lokaciju a red 2 nije promjenjiv (ispred oznake reda se nalazi znak $ (dolar)). To znači da kada ovako definisani sadržaj ćelije želimo da kopiramo, u kopiranoj formuli mijenjaće se oznaka kolone dok će vrijednost reda uvijek biti ista – u konkretnom primjeru će pokazivat na red  broj 2.

U cilju boljeg shvatanja mehanizma funkcionisanja adresa, pogledajmo na sljedećoj slici nekoliko primjera. Na pozicijama B2, B3, C2 i C3 se nalze obični brojevi 5, 4, 6 i 9. U redu broj 2 u kolonama D, E, F i G smo računali proizvod 2 broja koji se nalaze u ćelijama B2 i C2 ali smo ćeliju B2 na različite načine identifikovali (u petom redu su ispisane formule koje odgovaraju respektivno ćelijama iz reda broj 2).

U prvoj iteraciji smo sadržaje ćelija D2, E2, F2 i G2 iskopirali u red broj 3 a zatim smo D3 kopirali na H3, E3 na I3, F3 na J3 i G3 na K3. U redu broj 6 su ispisane formule koje postoje na ćelijama u redu broj 3. Sada se može lakše uočiti kako se mjenjaju identifikacije ćelija u formulama prilikom kopiranja formula iz jedne ćelije u drugu pod različitim načinima adresiranja argumenata predmetnih formula.

U svim slučajevima sa prethodne slike, drugi argumenat funkcije koji je inicijalno C2 se slobodno mjenja jer se koristi uvjek relativno adresiranje. Prvi argumenat funkcije se slobodno mijenja samo u primjeru koji kreće od ćelije D2 gdje imamo formul ‘=B2*C2’ (poslije prvog kopiranja funkcija postaje B3*C3 a zatim F3*G3). U svim ostalim slučajevima smo koristili neku varijantu apsolutne adrese pri čemu je formula u ćeliji E2 (‘=$B$2*C2’) data sa punom apsolutnom adresom – može se primjetiti da njenim kopiranjem i u drugi red (E3) i u drugu kolonu (I3) referišemo uvijek istu ćeliju – B2.

Dodjela imena skupu ćelija

U Excelu imamo mogućnost da dodjelimo ime jednoj čeliji ili skupu ćelija. Ova mogućnost nam značajno olakšava svakodnevni rad npr. prilikmo definisanja parametara kod funkcija. Vjerovatno ste susretali formulu koja izgleda npr ovako: =VLOOKUP(R1;$W$1:$AB$12;6). U toj formuli dio  $W$1:$AB$12 je prilično nečitak a postoje slučjevi gdje ovaj dio može biti još komplikovaniji. Ta ista formula može izgledati, ako uvedemo koncept definisanja imena i ovako =VLOOKUP(R1;ime_skupa_podataka;6)

Koncept imenovanja skupa podataka (imenovanja skupa ćelija) je identičan konceptu Apsolutnog adresiranja za dotični skup ćelija.

Ako imate potrebu da neke podatke koristite u nekoj od funkcija (npr Vlookup) umjesto da selektujete skup ćelija i pravite apsolutnu adresu izabranog skupa ($W$1:$AB$12), možete definisati ime za taj skup podataka (npr ime_skupa_podataka) i na to ime se referencirati u formuli u kojoj je ta referenca potrebna (ime_skupa_podataka).

Za imenovanje skupa podataka potrebno je obilježiti opseg podataka od prve do zadnje ćelije u excel tabeli – (radnom listu – sheet-u) kako i inače odabiramo skup ćelija – povlačenjem miša sa pritisnutim lijevim testerom kao na slici u nastavku. Šta će čelije koje odaberemo sadržavati je nebitno (tekst, brojeve ….). Takodje je nebitno da li će se skup ćelija koje markiramo nalaziti u jednom redu ili jednoj koloni odnosno u više redova i kolona. Uočiti da možemo odabrati više ćelija nego što u tom trenutku imamo unešenih podataka (na primjeru u nastavku je evidentno da smo odabrali 10-tak polja u kojima se ne nalaze trenutno podaci.

Ova mogućnost nam je, kako ćemo vidjeti u nastavku ovog teksta, veoma korisna – skup podataka koji smo odabrali u ovom primjeru je u vezi sa specifikacijom dnevnog angažmana nekog zaposlenog radnika. Izvještaj o dnevnom angažmanu zaposleni pravi tako što u unaprijed definisanoj tabeli treba da unese ime projekta, podptojrkta i aktivnosti na kojoj je radio u nekom vremenskom periodu. Sve vrijednosti za projekte, podprojekte i aktivnosti su unaprijed definisane i zaposleni ima pravo da izabere samo ono što mu je u tom trenutku na raspolaganju od tih predefinisanih vrijednosti. Kroz ovaj serijal i kroz ovaj i naredne primjere ćemo detaljno opisati kako u Excelu, koristeći imenovane ćelije ovakav zadatak možemo realizovati.

Prvi korak upravo sada radimo i odabrali smo za našu prvu imenovanu listu 13 projekata (Knjigovodstvo, Fermat, GAP, Konsolidovano izvještavanje itd) ali smo odabrali i neke prazne ćelije. Sada naslućujete zbog čega smo naše ime definisali i nad ćelijama u kojima nema nikakvih podataka – kada za mjesec dana šef kaže svom činovniku da radi i na projektu Plate, on treba samo u neko od praznih polja u ovoj imenovanoj listi a koje je vazeno za neko ime da upiše Plate i ranije definisano ime će sadržati i ovaj novi pojam. U ostalim definisanim formulama koje su unesene u Excel tabelu nije potrebno ništa promjeniti.

Nakon selektovanja opsega ćelija biramo (kod starijih verzija Excela) Insert  =>Name =>Define ili (kod novijih verzija Excela) Formula  =>DefineName =>Define

Otvara se dijalog prozor kako je prikazano, na kojem nam se nudi naziv za opseg koji možemo promijeniti ali ni ne moramo. Upisaćemo kao naziv za selektovani skup ćelija Projekat (digresija – ovaj naziv nema nikakve veze sa tekstom u ćeliji R1 sa prethodne slike koji takodje glasi “Projekat”). U polju ispred kojeg je labela “Refers to” se nalazi opseg adresa koji smo markirali ($R$2:$R$23) ispred kojeg je naziv Sheet-a na kojem je ime definisano (“Statistics”). Polje ispred kojeg je labela “Scope” sadrži vrijednost “Workbook” a ona znači da će naše ime” Projekat” biti prepoznato kao takvo u cijelom Excel file-u, koliko god listova da sadrži a iza tog imena će se nalaziti apsolutna adresa: =Statistics!$R$2:$R$23.

Sada kada smo kreirali skup ćelija u jednoj radnoj tabeli – radnom listu i definisali njegovo ime možemo ga koristiti u svakodnevnom radu u ovom Excel dokumentu.

Kraćim i bržim putem, prethodni postupak definisanja imena bi mogao biti realizovan i na sljedeći način: markirate željeni opseg podataka a potom u polje (Name box) koje označava adresu ćelije kliknite, upišite naziv dotičnog opsega (nazovimo ga u ovom primjeru  DB_Security) i pritisnite Enter.

=>

Poslije nekog vremena, i poslije aktivnog korišćenja funkcionalnosti u vezi sa imenovanjem opsega ćelija doći ćemo u situaciju da imamo mnogo imena a da ponekad ne znamo na koji dio excel dokumenta se ta imena odnose. Neka vrsta podsjetnika nam se nalazi na dohvat ruke. Za sve definisana imena radnog lista imamo mogućnost izbora tj. pregleda sa padajućeg menija u dijelu koji nam pokazuje adresu ćelije. Kada otvorimo ovaj padajuči meni, ispisaće nam se sva imena koja smo definisali (u konkretnom primjeru se koristi nekoliko desetina imena) a odabirom željenog imena će se automatski markirati skup ćelija u excel sheet-u na koji se to ime odnosi.

Kreiranje zavisnih padajućih lista u Excel-u (Data Validation – Depedent list)

Pretpostavimo da treba da vodimo evidenciju o dnevnom angažmanu radnika na projektima. Pretpostavimo da se ta evidencija vodi u Excelu – jedan Excel file za jednog zaposlenog radnika. U tom excel file-u u jednom worksheet-u se nalazi evidencija rada jednog radnika u jednom konkretnom mjesecu u godini (dakle, 12 sheet-ova za 12 mjeseci). Nekoliko radnih dana za neki hipotetički mjesec u godini za nekog radnika bi mogli biti obuhvaćeni na način kako je prikazano na sljedećoj slici:

U ovom dokumentu kolone D (Project), F (Module) i G (Category) su medjusobno povezane padajuće liste u kojima su spiskovi opcija zavisni od elementa koji je izabran na višem nivou hijerarhije (lista opcija u koloni G zavisi od toga šta je izabrano u koloni  F a lista opcija u koloni F zavisi od toga šta je izabrano u koloni D). Za realizaciju ovog sistema ćemo iskoristiti pojam imenovanih skupova ćelija (o kojima smo pisali u prethodnom serijalu) kao i nekoliko excel funkcija koje podržavaju ovaj mehanizam. Ideja je da se svi imenovani skupovi ćelija za cijeli ovaj sistem nalaze na posebnom worksheet-u na koji ćemo se referrisati prilikom unosa podataka u evidenciju rada (a koji, prije predaje u produkcijski rad možemo zaštititi tako da korisnik nema mogućnost mjenjanja njegovog sadržaja).

Imenovanje podataka za listu

Prvo ćemo da definišemo imena za ovaj sistem i za ovaj poseban data sheet koji se kasnije može zaštititi.

Projekti se nalaze na najvišem nivou hijerarhije i prvo treba njih da definišemo. Njih smo definisali kroz primjer u prethodnom djelu ovog serijala i ovom prilikom ćemo samo da se podsjetimo slikom na elemente koji čine najviši nivo hijerarhije – projekte:

Svaki od ovih projekata ima svoje module. Primjeri modula za neke od projekata bi mogli biti:

Vidimo da se projekat DB_Admin sastoji od DB_Security, DB_Data_Modeling, Create_database i DB_Other, projekat HRMS ima module: HR_Other, HR_Inicijalizacija, HR_Realizacija itd.

Svaki od projekata pojedinačno sa svojim skupom modula je definisan kao posebno – jedinstveno i nezavisno ime u Excel sheet-u. Za projekat DB_Admin, ta definicija izgleda ovako:

O definisanju imena smo već pričali (uključujući i napomenu u kojoj smo objasnili zašto se ime proširuje na ćelije koje ne sadrže podatke). Na ovaj način smo definisali imena: HRMS, DB_Admin, Konsolidovanoi_izvjestavanje, PRIS, Technical itd. Uz svako od ovih imena smo dodjelili skup modula od kojih se projekti sastoje. Na ovom mjestu je bitno istaći jedan momenat koji je važan za kasnije povezivanje lista u hijerarhiju. Ime koje smo dali za skup ćelija kojima definišemo DB_admin projekat mora biti potpuno identično sadržaju ćelije u imenovanom skupu ćelija Projekat a koji smo na toj lokaciji definisali sa DB_Admin. Jednostavnije rečeno – Tekst koji se pojavljuje u dijalogu u polju sa labelom „Name“ – DB_Admin mora biti identičan tekstu koji se pojavljuje u listi projekata (sadržaj polja R7 na slici iz prethodnog nastavka ovog serijala). Tekst koji se pojavljuje u prethodnoj slici na poziciji Y15 (takodje DB_Admin je nebitan i ovdje je samo radi vizuelnog povezivanja sa glavnim projektima koji su pobrojani na listi projekata).

Na ovaj način smo povezali projekte sa njihovim modulima. Sada želimo da uvedemo još jedan nivo hijerarhije – svaki od modula treba da ima svoje kategorije. Postupak se ponavlja ali sada samo na nižem nivou. U ovom momentu je važnije da znamo kako ćemo ove kategorije imenovati u kontekstu stvarnih poslova referenta i da li nam to u praksi treba. Kada rješimo tu nedoumicu, sama realizacija se svodi na običnu fizičku aktivnost. U cilju shvatanja ideje problema, slika u nastavku daje razvrstane module samo za HRMS i DB_Admin na njihove kategorije:

Na ovom mjestu se ponavlja priča u vezi sa definisanjem imena, odnosno: za modul DB_Security definisaćemo ime koje će se zvati upravo DB_Security i to zato što se to ime (DB_Security) u tom obliku pojavljuje na lokaciji Y16 radne tabele, kao jedan od modula projekta DB_Admin. Ime DB_Security je vezano sa kategorijama: Role_policy, Schema_policy, User_policy, Monitoring, General_config_concept a ime sadrži još nekoliko slobodnih ćelija za buduća proširenja

Kada završimo definisanje svih imenovanih opsega ćelija, dobićemo reprezentativnu listu imena koju možemo pogledati i na sljedeći način:

Dakle, preko Formula -> NameManager dobijamo dijalog u kojem su ispisana sve definisana imena sa opsezima u kojima važi njihova definicija i sa još nekoliko dodatnih atributa.

Kreiranje padajuće liste

Prvo ćemo definisati padajuću listu za kolonu u kojoj ćemo unositi podatke o projektu. Potrebno je da izaberemo sve ćelije kolone u kojoj ćemo unositi podatke za projekat na kojem se radilo. U našem primjeru je to kolona D, tačnije one ćelije u koloni D u kojoj se nalaze radni dani. U nastavku treba da uradimo sljedeći niz koraka: (kartica) DATA -> DataTools -> DataValidation -> DataValidation (Redosljed akcija je prikazan na sljedećoj slici):

Dobijamo parametarsku formu sa 3 tab-a u kojoj treba da unesemo nekoliko podataka. Na Tabu-u “Settings” u listbox-u sa labelom “Allow” treba odabrati “Lists” kao indikator da će se podaci unositi preko liste vrijednosti a u polju u kojem imamo kao labelu “Source” treba da unesemo punu adresu na kojoj se nalazi naše ime za projekat “=Projekat”. Na ovaj način smo obezbjedili unos preko liste imena projekta u svako od polja koja pripada koloni za projekat. Ovako jednostavno imenoivanje adrese je moguće samo zato što smo u prethodnim koracima definisali ime “Projekat” za skup ćelija a pri tome smo to ime proglasili vidljivim na cjelom Excel dokumentu.

Slijedeća padajuća lista koju treba da definišemo se unosi u koloni koja se odnosi na modul unutar projekta. Ovo je zavisna padajuća lista. “Zavisna” zbog toga što njen sadržaj zavisi od sadržaja polja na koju zavisnost referiše.

Postupak je u početnoj fazi identičan. Treba da uradimo: (kartica) DATA -> DataTools -> DataValidation -> DataValidation. Opet se otvara parametarska forma sa 3 tab-a. I ovog puta ćemo kao vrijednost prvog parametra unjeti LIST. Kao drugi parametar treba unjeti formulu =INDIRECT(D6). Ova formula nam kazuje da se u konkretnoj ćeliji (D6) treba formirati lista čiji sadržaj će zavisiti od vrijednosti koja je izabrana u koloni D. U konkretnom slučaju je unešeno D6 zato što je prva ćelija koja je markirana u stupcu D6 (na ostalim ćelijama će se izvršiti relativno adresiranje u odnosu na ovu ćeliju pa će formula u sedmom redu biti INDIRECT(D7) itd

Na ovaj način smo formirali 2 drop down liste pri čemu druga lista zavisi od sadržaja prve liste. To znači da ako se u prvoj listi (u koloni D) kao projekat izabele DB_Admin u listi vezanoj za modul (u koloni F), za isti taj dan će se pojaviti komponente od kojih se sastoji DB_Admin projekat (Create_database, DB_Security, DB_Data_Modeling, DB_Other) a ako smo kao projekat izabrali HRMS onda možemo da izaberemo samo neki od HRMS modula (HR_Inicijalizacija, HR_Realizacija, HR_Other)

Na ovaj način smo kreirali zavisnu listu i definisali način unosa podataka u kolonu modul. Na kraju nam je ostalo da definišemo liste za podatke u koloni Category. U ovoj koloni se takodje definišu liste i to zavisne liste tako da je postupak identičan postupku koji smo upravo objasnili. Treba samo obratiti  pažnju na kolonu u odnosu na koju su liste u Category zavisne – u ovom slučaju je to kolona F – kolona u kojoj se definišu moduli.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s