Microsoft Office Excel |
|
|
Maskiranje zapisa vremenaNivo:
Jedno zanimljivo pitanje, nedavno postavljeno na Sezamu, podsetilo me je da bi trebalo malo češće da vam prenosim trikove za unos podataka na radni list u Excelu. Naime, ako se pobrinete da neke ključne podatke pravovremeno formatirate na optimalan način, nećete morati da se maltretirate naknadno ih obrađujući da bi učestvovali u valjanom sortiranju, grupisanju i sličnim aktivnostima. Konkretno pitanje je glasilo: postoji li način da se četvorocifreni broj unese na uobičajeni način, a da se on odmah prepravi u format HH:MM kojim obično zapisujemo vreme u satima i minutima (npr, da se unos 1245 pretvori u 12:45). Kolega je napomenuo i da tako zapisano vreme ne treba da učestvuje ni u kakvim proračunima, nego samo za prosti prikaz na ekranu i u štampi. Ovo je korisna informacija, jer vrlo olakšava rešenje: pribegnućemo postavljanju maske za unos u ćeliju, što spada u trikove kakve sam vam i ranije prenosio ovde. Označite sve ciljne ćelije, pa pozovite dijalog Format Cells (CTRL+1, kontekstni ili glavni meni Format); na listu Number, u grupi kategorija odaberite opciju Custom, pa u polje Type unesite tačno ovu masku:
Kao najbrže rešenje, to je sve: čak i ako uneste samo broj 100, on će biti interpretiran kao 01:00. Međutim, postoje tri potencijalno neželjena nuzefekta. Prvi je da u ovako pripremljenu ćeliju možete uneti neki prosti tekst bez posledica; maska će biti očuvana, pa tekst možete prepisati brojem i maska će biti primenjena. Drugi efekat je da možete uneti broj 123456, pa će se pojaviti 1234:56.
Odaberite potrebne ćelije, pa na kartici Settings dijaloga Data / Validation postavite pravilo Allow: Whole number, Data: less than or equal to, i najzad Maximum: 2359. Opciono definišite ponašanje pri pojavi greške (kartice Input Message i Error Alert) i ubuduće će opseg unosa biti od 00:00 do 23:59.
Na tada navedeni detalj da je moguće uneti "12:99", što je očigledna greška, reagovao je jedan moj kolega, govoreći: ...Ako već koristiš alatku Validation, mogao si odmah da predložiš uključenje opcije da se proverava vreme, umesto da prepričavaš mane rešenja. Živa istina, nisam pomenuo da postoji i ta opcija; ali, i da jesam, ne bih je uzeo u obzir! Naime, kolega koji je inicirao raspravu o što efikasnijem unosu podataka o vremenu (koji se, da podsetim, u datom slučaju ne koriste ni u kakvim daljim obradama) napomenuo je da operateri koriste numeričku tastaturu da bi postigli maksimalnu brzinu unosa. Da smo postavili pravi okvir vremena, ceo trik bi pao u vodu: na numeričkoj tastaturi nema dvotačke koja se mora kucati da bi broj bio primljen kao zapis vremena. Zato preostaje i treći problem (i bio je najavljen u rubrici u časopisu), a to je prava logička kontrola sadržaja: svakako je nepoželjno da se pri unosu dozvoli vrednost 12:99, što ove postavke neće sprečiti. I ovo rešenje je lako, ali koristi VBA metodu "hvatanja" unosa i zato traži malo šire objašnjavanje. Ali, o tome drugi put...
|
|
Vrh stranice Prethodna stranica Naslovna strana Mapa sajta Pretraga |
| AFORIZAM ZA DANAS | OVIH DANA SLUŠAMO... |
| Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana. |