Microsoft Office Excel
uređuje Dragan Grbić

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Office Praktikum

Još o Excelu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 Praktikum na Webu
 

Uklanjanje svih redova osim...

Nivo:  NIVO 3 - klinite za objašnjenje


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.

 

  (C) 2000-2010 Praktikum na Webu

PC 158


 
 

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.