Reprezentace data a času
Z MiS
Obsah |
Reprezentace času v tabulkovém kalkulátoru
- Časové údaje se v tabulkových kalkulátorech reprezentují jako číslo, které udává počet dní od pevně stanoveného data. (Například od 1.1.1900.)
- To, zda se obsah buňky má zobrazit jako číslo, nebo jako datum/čas udává pouze nastavení formátu buňky!
- Pokud má číslo v buňce desetinnou část, chápe se jako údaj včetně času (odpovídající zlomek dne).
- Pokud je číslo v buňce z intervalu <0; 1), chápe se o časový údaj bez uvedení data.
- Vyzkoušejte
- Zapište do buňky číslo 1 a přepněte formát buňky na datum. Jaké datum bude zobrazeno?
- Zkuste totéž s čísly: 0; 0,5; =1/24; 5; 33000
- Co se stane, když zadáte: -1?
V Excelu se záporné hodnoty čísel jako data ignorují, takže nelze zadávat data starší než 1.1.1900!
Takováto data jsou chápána jako text a nedá se s nimi počítat. Při převodu záporného čísla na datum dojde k přetečení a výsledkem bude vysoké kladné číslo.
Zadávání časových údajů
- Do buňky můžete datum zadávat v různých formátech, ne všechny ale správně akceptuje.
- Pokud se text nerozpozná jako datum, zapíše se do buňky jako text. Typickým příznakem je, že text je zarovnán k levému okraji, zatímco čísla (datum také) jsou zarovnána k pravému okraji.
- Nerozpoznaná data také nebudou fungovat ve vzorcích.
- Příklady
(Pro Microsoft Excel 2013, v jiných kalkulátorech se může chovat jinak):
- 31. červenec 2015... zpracuje v pořádku,
- 31. července 2015... nezpracuje se, nerozpozná se měsíc.
Výpočty s časovými údaji
- Uveďme několik příkladů, jak využít tento způsob reprezentace časových údajů:
- Kolik dní uplynulo mezi dvěma časovými údaji?
- Kolik hodin uplynulo mezi dvěma časovými údaji?
- Vypočtěte datum splatnosti faktury, když je splatná 14 dní po vystavení a datum vystavení je v buňce A5.
- Sečtěte tržby za měsíc únor, když máme tržby za jednotlivé dny. (Například funkcí SUMIFS se dvěma podmínkami. Lze také třeba kontingenční tabulkou.)
Funkce DATEDIF
- Pomocí rozdílu hodnot dvou buněk snadno zjistíme počet dnů, hodin či sekund mezi dvěma časovými údaji.
- Problém je ale, když potřebujeme zjistit, kolik kalendářních let či měsíců uplynulo mezi dvěma daty, protože počet dní v měsíci či roce se liší.
- Řešení:
- Nepublikovaná funkce DATEDIF().
- Rozdělení data podle vzorce (viz Šikovné vzorce pro Calc).
- Syntaxe
DATEDIF(datum1; datum2; jednotka)
-
jednotka
... udává, zda chceme zjistit počet dní ("d"), měsíců ("m") či let ("y").
- Příklad
- Kolik je roků Frantovi, jehož datum narození je v buňce D1?
DATEDIF(D1; DNES(); "Y")