Reprezentace data a času
Z MiS
(Rozdíly mezi verzemi)
(→Reprezentace času v tabulkovém kalkulátoru: Upřesnění formulace.) |
(Doplněna funkce DATEDIF) |
||
Řádka 18: | Řádka 18: | ||
<span style="font-weight: normal">''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.''</span> | <span style="font-weight: normal">''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.''</span> | ||
</div> | </div> | ||
+ | |||
== Zadávání časových údajů == | == Zadávání časových údajů == | ||
Řádka 30: | Řádka 31: | ||
* <tt>31. července 2015</tt>... nezpracuje se, nerozpozná se měsíc. | * <tt>31. července 2015</tt>... nezpracuje se, nerozpozná se měsíc. | ||
</div> | </div> | ||
+ | |||
== Výpočty s časovými údaji == | == Výpočty s časovými údaji == | ||
Řádka 39: | Řádka 41: | ||
# Vypočtěte datum splatnosti faktury, když je splatná 14 dní po vystavení a datum vystavení je v buňce <tt>A5</tt>. | # Vypočtěte datum splatnosti faktury, když je splatná 14 dní po vystavení a datum vystavení je v buňce <tt>A5</tt>. | ||
# Sečtěte tržby za měsíc únor, když máme tržby za jednotlivé dny. (Například funkcí <tt>[[Podmíněné_výpočty|SUMIFS]]</tt> se dvěma podmínkami. Lze také třeba [[Kontingenční tabulky|kontingenční tabulkou]].) | # Sečtěte tržby za měsíc únor, když máme tržby za jednotlivé dny. (Například funkcí <tt>[[Podmíněné_výpočty|SUMIFS]]</tt> se dvěma podmínkami. Lze také třeba [[Kontingenční tabulky|kontingenční tabulkou]].) | ||
+ | </div> | ||
+ | |||
+ | |||
+ | == Funkce <tt>DATEDIF</tt> == | ||
+ | * 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 <tt>DATEDIF()</tt>. | ||
+ | ** Rozdělení data podle vzorce (viz [[Šikovné vzorce pro Calc]]). | ||
+ | |||
+ | ; Syntaxe | ||
+ | DATEDIF(''datum1''; ''datum2''; ''jednotka'') | ||
+ | * <code>jednotka</code>... udává, zda chceme zjistit počet dní (<tt>"d"</tt>), měsíců (<tt>"m"</tt>) či let (<tt>"y"</tt>). | ||
+ | |||
+ | <div class="Priklad"> | ||
+ | ; Příklad: | ||
+ | * Kolik je roků Frantovi, jehož datum narození je v buňce <tt>D1</tt>? | ||
+ | DATEDIF(D1; DNES(); "Y") | ||
</div> | </div> | ||
Aktuální verze z 25. 3. 2015, 13:01
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")