|
Microsoft Office Excel |
|
|
Uklanjanje svih redova osim...Nivo:
Jedan od principa u Excelu glasi: "pucaj iz svih oružja" - u prevodu, ne sme da bude prepreka da se iskoriste sva raspoloživa sredstva za svaki cilj. To je, u neku ruku, i ključni atribut ove vrste programa: slobodni ste da iskoristite same mehanizme programa da biste izveli možda čak i neočekivano rešenje. Sve se prihvata dok god niste oštetili polazne podatke, a došli ste do traženog cilja. Evo jednog živog primera iz prakse... Kolega Miloš Petrović često priprema u Excelu jedan veliki opseg podataka za analizu. Kako je reč o nekim vremenskim intervalima, kolegi je zatrebalo da izoluje svaki peti red, a da druge eliminiše iz analize. Kaže kako je na Internetu našao neki makro koji eliminiše svaki n-ti red, pa u dva prolaza za n=2 dobija uzorak od svakog četvrtog podatka, što je blisko traženom. Međutim, tek tad je kolega izrazio i želju da eliminacija suvišnih podataka ne bude destruktivna, pa je zamolio za savet. Kada bi svaki četvrti red bio ono što je kolega tražio, postojalo bi lako rešenje. Prosto, bilo bi dovoljno napraviti kopiju radnog lista (najbrže: držite pritisnut taster Ctrl dok vučete jezičak radnog lista), pa makroom sažeti kopiju. Takođe, pisanje makroa koji će izbrisati sve redove osim n-tog u nizu nije problematično; bila bi to petlja koja izbriše n-1 redova, preskoči n-ti, pa tako ide do dna liste dok god ima podataka. Međutim, to je i dalje destruktivno: nedestruktivni potez bi bio da se red sa "neželjenim" podatkom u makrou sakrije, a ne da se izbriše. Ipak, možda ste primetili da u poslednje vreme izbegavam makroe kao rešenja kad god Excel može da odgovori na zahtev nekom postojećom tehnikom na radnom listu. Efekat tog pristupa je dvostruki: najpre, rešavamo se problema sa lošim snalaženjem mnogih manje iskusnih korisnika koji ne razumeju podrazumevane opcije blokiranja rada makroa u radnim sveskama. Excel 2007 dodatno komplikuje pitanje rada makroa u novom formatu, pošto takvu radnu svesku morate sačuvati na određeni način. Drugo, primetio sam pozitivne reakcije nekih čitalaca kada demonstriram osnovne tehnike u Excelu. Takve tehnike su, zapravo, pravo lice fleksibilnosti Excela: kada saznate dovoljno o mogućnostima raznih alatki, samo vam preostaje da smislite kako ih možete iskombinovati da biste došli do nekog željenog rezultata. Kao ilustraciju, pokazaću vam dve tehnike selekcije svakog n-tog reda. Zajedničko za njih je da ćete upotrebiti pomoćnu kolonu koja se oslanja o opseg podataka; trik je da tu kolonu popunite tako da kasnije možete da filtrirate podatke. Filtriranje zahteva da lista ima zaglavlja, pa tek priče radi recimo da lista ima dve kolone sa zaglavljima u ćelijama A1 i B1; formiraćemo treće zaglavlje u ćeliji C1 po imenu "indikator"; zanima nas svaki peti red. Jedan od načina generisanja intervala je upotreba funkcije MOD, koja daje ostatak celobrojnog deljenja. Broj koji ćete podmetnuti je broj aktivnog reda (funkcija ROW() je dovoljna za to). Ako u C2 napišete formulu =MOD(ROW();5)=0, u svakom redu čiji broj je deljiv sa pet dobićete vrednost TRUE, a u ostalim FALSE. Kada ste uneli prvu formulu, iskoristite ručicu za popunu (fill handler), mali crni kvadratić u donjem desnom uglu okvira aktivne ćelije C2: pažljivo pristupite pokazivačem miša i kad se pojavi mali crni znak +, dvaput kliknite i formula će se popuniti sve do kraja liste. Sad je potrebno da uključite automatski filter: u Excelu 2003 ili starijem, pozovite komandu Data / Filter / Autofilter (Podaci / Filter / Automatski filter) pa kad se pojavi komandno dugme u zaglavlju, filtrirajte kolonu C tako što ćete isključiti vrednost FALSE u listi filtera. U Excelu 2007, automatski filter ćete uključiti na ribonu Data > Sorting and Filtering > Filter (Podaci > Sortiranje i filtriranje > Filter). I - to je to! No, ako koristite Excel 2003 ili noviji, možete učiniti i više da biste olakšali postupak. Ponavljam: u Excelu ste slobodni da "pucate iz svih oružja"! Neka program više radi, a vi više razmišljajte,,, Dakle, šta se to još može? Pre nego što unesete formulu u ćeliju C2, proglasite listu eksplicitnom. Nad bilo kojom ćelijom sadržaja liste pritisnite Ctrl+L i samo potvrdite prepoznati opseg. Dobit je dvostruka: najpre, komandno dugme za filtriranje će se odmah uključiti, a kad unesete formulu u C2, ona će se odmah proširiti niz celu kolonu C, bez potrebe da je sami popunjavate ručicom za popunu. Eksplicitne liste imaju još neke poželjne osobine, ali da sad ne širim priču: neka bude dovoljno to da one bolje upravljaju strukturom "ispod haube", pa ako je opseg vrlo velik, možete primetiti bolje performanse u radu, pod uslovom da vaš računar ima dovoljno memorije. Prva postavka problema kolege Petrovića je bila takva da nije važno koji podatak je prvi u intervalu od pet, jer je reč o vremenskim razmacima; zbog toga nema veze što postoji distorzija između broja reda i rednog broja podatka (prvi podatak je u drugom redu, drugi u trećem, itd.). Međutim, šta ako je potrebno izolovati baš tačno svaki peti raspoloživi red podataka u listi? Nema problema: popunićemo kolonu C ciklusom prostih konstanti 1-5. Za to je potrebno da znate za jadac, pogotovo ako je lista veoma velika. Najpre, u deset uzastopnih ćelija kolone C dvaput unesite brojeve od 1 do 5. Zatim obeležite tih deset ćelija, pa dvaput kliknite na ručicu za popunu. Primetićete da je ostatak kolone popunjen nekim "bezveznim" brojevima, ali to ćete odmah ispraviti: uočite da se uz poslednju vidljivu ćeliju kolone C na dnu prozora program pojavila pametna oznaka (smart tag). Kliknite na oznaku i zatečenu opciju Fill Series (Popuni seriju) zamenite opcijom Copy Cells (Kopiraj ćelije). Kao rezultat, dobićete traženi ciklus brojeva. Dalje je isto: filtrirajte listu po vrednosti 5 u koloni C i dobićete tačno tražene podatke. Uočite da filtrirana lista ima razna posebna svojstva. Ako nad nekom aktivnom ćelijom filtrirane liste uzastopno primenite prečice Ctrl+A i Ctrl+C, prenećete samo vidljivi deo u clipboard, pa poželjne podatke možete i preneti na drugi radni list. Ako pravite grafikon nad listom, biće prikazani samo vidljivi podaci (to važi i za ručno sakrivanje redova i za filtriranje). Zato jedino pripazite da postavite elemente analize i prikaza tako da sakrivanje redova ne zasmeta njihovom prikazu.
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2010; Valinor Design; sva prava pridržana. |