Excel – formátování a výpočty s časovými údaji

Formátování časových údajů a vzájemný převod mezi zobrazením času desetinným číslem a tradičním zobrazením hodiny:minuty:vteřiny bývá někdy problematické.

V přiloženém souboru jsou některé, ne zcela obecně známé skutečnosti ve zpracování časových údajů Excelem, vysvětleny.

Obracím se na Vás s prosbou o radu s převodem, nebo formátováním čísla v Excelu jako čas. Jde o to, že potřebuji vygenerovat geometrickou řadu čísel, která je tvořena vypočítanými hodnotami.

Tyto hodnoty vyjadřují počet sekund s přesností na 2 desetinná místa např. 7298,24 Pokud to zjednoduším do jednoho vzorce a na konkrétní čísla, jedná se v příkladu o výsledek vzorce „=(ZAOKROUHLIT((6501,994709*POWER(2;1/6));2))“

Tento výsledek potřebuji v jiném sloupci zobrazit ve formátu: „02:01:38:24“ kde 02 jsou hodiny, 01 minuty 38 vteřiny a 24 setiny vteřin.

Vyřešil jsem to sice výpočtem, sloučením výsledků a doplněním nul. Dostanu se sice ke správnému výsledku, ale za cenu vzorce na půl stránky. Neexistuje nějaké jednoduché a přehledné řešení?

V tomto případě postup poměrně jednoduchý – spočívá ve vytvoření vhodného formátu pro zobrazení čísla reprezentujícího časový údaj.

Postup:

  1. vstupní hodnotu převedeme na část 24h cyklu pomocí vzorce

    7298,24 / (246060)=0,08447037
  2. výslednou hodnotu zobrazíme pomocí vhodného formátu

    Excel není standardně vybaven formátem pro zobrazení setin vteřiny – musíme jej vytvořit.
    v dialogovém okně Formát buněk zapíšeme pro druh Vlastní typ formátu h:mm:ss,00
Excel - formátování času

Principy zobrazení časových a  datumových údajů v Excelu

Pravidlo č.1

Časové údaje jsou v Excelu interpretovány jako desetinná čísla z intervalu  <0;1), představující  příslušnou část dne.

Nápověda Excelu říká:

(Pokud chceme znát přesnou hodnotu pravé strany intervalu, pak platí, že desetinné číslo je hodnota v rozmezí od 0 (nula) do 0,99999999, která představuje čas od 0:00:00 (12:00:00 dop.) do 23:59:59 (11:59:59 odp.).)

Není to však zcela pravda, jak můžeme vidět na následujících údajích

Excel - formátování času

číslo 0,99999994 je interpretováno jako čas 23:59:59,99 a číslo 0,99999995 již představuje začátek nového 24h cyklu 0:00:00,00.

Číslo 0 představuje časový údaj, kdy pomyslné hodiny překročí půlnoc a začíná nový 24 hodinový cyklus – tedy čas, který by například na informační tabuli v letištní hale byl označen jako 0:00.

Excel nemá připravený standardní formát pro zobrazení setin sekundy, můžeme jej však vytvořit v dialogovém okně Formát buněk (karta Domů > aktivační tlačítko) nebo Ctrl+1 (případně Ctrl+Shift+1)) zápisem typu vlastní s maskou h:mm:ss,00.

Excel - formátování času

Příklady:

Číslo 0,25 představuje  čas odpovídající  1/4 dne, tedy 6:00.

Číslo 0,5 představuje  čas odpovídající  1/2 dne, tedy 12:00.

Číslo 1 by v tomto pojetí mělo představovat ukončený cyklus 24hodin (půlnoc), tedy čas 24:00. Protože by ale došlo k nepřijatelné situaci, kdy by pro jeden časový údaj existovala duplicitní číselná reprezentace (24:00 a 0:00, hodnoty 1 a 0), číslo 1 již není považováno za časový údaj, ale za datumový – hodnota 1 představuje kalendářní datum 1.1.1900.

Pravidlo č.2

Kalendářní údaje (datum)  jsou v Excelu interpretovány jako celé číslo z intervalu  <1;99999>), představující  konkrétní datum.

Excel ukládá kalendářní data jako pořadová čísla, takže je lze použít při výpočtech. 1. leden roku 1900 ve výchozím nastavení představuje pořadové číslo 1 a  1. leden 2008 pořadové číslo 39448, protože se jedná o 39 448. den po 1. lednu roku 1900

Příklady:

Číslo 1 představuje  datum  odpovídající  dni  1.1.1900.

Číslo 30000 představuje datum odpovídající dnu, kdy uplynulo 30000dní od fiktivního  dne D  0.1.1900 – tedy datum 18.2.1982.

Datum 24.12.2008 Excel interpretuje jako číslo odpovídající počtu dní, které uplynuly od fiktivního dne D 0.1.1900 – tedy  39806.