Banner

piatok 10. februára 2012

Funkcie (3.diel)

 

Na úvod začnem trocha netradične a to pozitívnym nádychom. Dátumy sú totiž pre mňa dosť neobľúbenou problematikou. Vždy, keď mám v súbore dátumy a  čas tak skoro s istotou viem, že ma s ním čaká boj. Práve dátumy a čas sú údaje, v ktorých ľudia pri manipulácii robia mnoho chýb a stačí nevinná zmena formátu, poprípade odlišný zápis dátumu alebo času a máte vážny problém. Preto si myslím, že by nebolo na škodu aby som vám predstavil niektoré kvázi, dátumové funkcie. Pre vlastné pohodlie si môžete stiahnuť sample file.

Začnime pekne krásne dátumami.image Ak potrebujete mať na liste umiestnený dátum, ktorý sa dneškom aktualizuje, môžete použiť funkciu Today, ktorej syntax je =TODAY()Ako príklad uvediem dnešok + 14 dní, viď obrázok. Celkom užitočné sú funkcie, ktoré dokážu z jednotlivých dátumov vyselektovať buď deň, mesiac alebo rok.

V praxi je to vhodné ak dostanete výkaz s dátumami a potrebujete, resp. chcete ich rozdeliť do stĺpcov (môžete taktiež použiť možnosť Text to Columns podľa predchádzajúceho článku, no v prípade dátumov je elegantnejšie ak pri ich doplnení do stĺpca len skopírujete a vložíte relevantnú funkciu do adekvátnej bunky). V prípade dňa použijete funkciu Day so syntaxom =DAY("dd.mm.yyyy"). Taktiež môžete skombinovať túto funkciu s Today podľa vlastných potrieb, napríklad takto: =DAY(TODAY()+14). Obdobne fungujú aj nasledujúce funkcie Month a Year.

imageMožnou substitúciou textových funkcií Concatenate pri tvorbe dátumu je funkcia Date. Jej použitie je totožné s Concatenate, no zadáte tam len tri hodnoty a to v poradí: rok, mesiac a deň.

 

Trocha nešťastným riešením je využitie funkcie Weekday, ktorá vráti imageporadie dátumu v rámci dní v týždni (=WEEKDAY("dátum";2), kde druhé číslo predstavuje možnosť očíslovania dní v týždni, takže pre našu konvenciu použijeme 2). Ak potrebujete vedieť, aký deň prináleží dátumu, musíte si nadefinovať stĺpec s dňami a použiť funkciu Index (=INDEX(H2:H8;F3;0)). Kompletnú formuláciu vzorcov máte k dispozícii v sample file.

Avšak nemôžem si pomôcť, ale musím v tomto diele spomenúť možnosť formátovania bunky. Formátovanie buniek si budeme preberať o niečo neskôr, avšak už dnes vám prezradím, že ak zmeníme formát bunky dátumuimage v záložke Home na Custom potom definujeme ako dddd, dostaneme hotový názov dňa, platný pre dátum. Výhoda? Asi najväčšia je v tom ,že nemusíme vytvoriť nový stĺpec s ďalšou funkciou, stačí len pozmeniť formát, ba dokonca si túto zmenu môžeme nahrať ako makro a nestrácať zbytočný čas. Takto pozmenený formát buniek môžeme využiť, ak chceme definovať dátum spolu s časom pomocou Custom a d.m.yyyy h:mm alebo potrebujete len čas, teda h:mm. Vo formáte Custom si môžete formáty ľubovoľne nastaviť podľa potrieb, (##" sec", ##" min" alebo ##" hod", ktoré v podstate zobrazujú čísla spolu s výrazom v úvodzovkách. Ak sa vám nepáčia preddefinované názvy v úvodzovkách, môžete ich pokojne zmeniť.

No vráťme sa ešte k niektorým užitočným funkciám. V prípade ak potrebujete zistiť, v ktorom týždni sa stala udalosť, alebo v akom týždni v poradí (rok má 53 týždňov) sa nachádzate, použite funkciu Weeknum so syntaxom =WEEKNUM(“dd.mm.yyyy”), v prípade aktuálneho týždňa =WEEKNUM(TODAY()). Edate vám zase umožní vrátiť konkrétny dátum, posunutý o istý počet mesiacov. Ak by ste mali tabuľku s evidenciou firemných telefónov a mali by ste dátum zakúpenia a viete, že telefóny majú záruku 2 roky, teda 24 mesiacov, stačí vám v stĺpci Koniec záruky použiť =EDATE(“bunka dátumu zakúpenia”;24).

Veľmi praktickým pomocníkom je Networkdays funkcia, pomocou ktorej môžete zistiť počet odpracovaných dní v časovom rozmedzí, v prípade ak niekto mal neplatené voľno aimagepod. tak sa tieto dni zadávajú do vzorca a tým pádom dostanete očistené číslo odpracovaných dní.

Syntax vzorca je vidieť na obrázku, ako príklad uvediem =NETWORKDAYS(B28;C28;D28:J28), ktorý som použil v cvičnom súbore.  Na záver by som chcel upozorniť, že vo väčšine funkcií pri zadávaní dátumu do vzorca dbajte na to aby bol v “úvodzovkách”. V prípade, ak by ste na to zabudli, tak by vás aplikácia mala upozorniť na chybu vo vzorci, čo v prípade dlhého algoritmu môže byť problém. Ak by som sa mohol vyjadriť všeobecne o funkciách a článkoch, Excel samozrejme disponuje väčším množstvom funkcií v porovnaní s tými, o ktorých som sa zmienil. Preto vo vlastnom záujme a ak na to máte čas a chuť, objavujte nové funkcie a HLAVNE kombinujte tie, ktoré už poznáte. V praxi to totiž prinesie svoje ovocie. V Ďalšom článku samozrejme pokračujeme funkciami. Pravdepodobne matematickými, ale nie som si istý. Nechajte sa prekvapiť.

Žiadne komentáre:

Zverejnenie komentára

Poznámka: Komentár môže zverejniť iba člen tohto blogu.