Reprezentace data a času
Z MiS
(Rozdíly mezi verzemi)
(Vytvoření stránky) |
(Doplněna funkce DATEDIF) |
||
(Není zobrazeno 6 mezilehlých verzí od 1 uživatele.) | |||
Řádka 2: | Řádka 2: | ||
== Reprezentace času v tabulkovém kalkulátoru == | == Reprezentace času v tabulkovém kalkulátoru == | ||
− | * Časové údaje se v tabulkových kalkulátorech | + | * Č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 <tt>1.1.1900</tt>.) |
− | * To, zda se | + | * To, zda se obsah buňky má zobrazit jako číslo, nebo jako datum/čas udává pouze nastavení formátu buňky! |
− | * Pokud | + | * 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 <tt><0; 1)</tt>, | + | * Pokud je číslo v buňce z intervalu <tt><0; 1)</tt>, chápe se o časový údaj bez uvedení data. |
<div class="Priklad"> | <div class="Priklad"> | ||
Řádka 11: | Řádka 11: | ||
* Zapište do buňky číslo 1 a přepněte formát buňky na datum. Jaké datum bude zobrazeno? | * 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 | * Zkuste totéž s čísly: 0; 0,5; =1/24; 5; 33000 | ||
+ | * Co se stane, když zadáte: <tt>-1</tt>? | ||
+ | </div> | ||
+ | |||
+ | <div class="Varovani"> | ||
+ | V Excelu se záporné hodnoty čísel jako data ignorují, takže nelze zadávat data starší než <tt>1.1.1900</tt>!<br /> | ||
+ | <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> | ||
+ | |||
+ | |||
+ | == 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. | ||
+ | |||
+ | <div class="Priklad"> | ||
+ | ; Příklady | ||
+ | (Pro Microsoft Excel 2013, v jiných kalkulátorech se může chovat jinak): | ||
+ | * <tt>31. červenec 2015</tt>... zpracuje v pořádku, | ||
+ | * <tt>31. července 2015</tt>... nezpracuje se, nerozpozná se měsíc. | ||
</div> | </div> | ||
Řádka 23: | Řádka 42: | ||
# 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> | </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> | ||
+ | |||
+ | |||
+ | == Související stránky == | ||
+ | * [[Časové funkce]] | ||
+ | * [[Tabulkový procesor]] |
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")