Excel – rozdíl mezi dvěma daty

Pokud se jedná o rozdíl mezi dvěma daty, často chceme zjistit, kolik času od daného data uplynulo ke dnešnímu dni. V Excelu můžeme dnešní datum vložit jednoduše vložením funkce DNES (nebo NYNÍ nám vloží i aktuální čas).

Ať už potřebujeme zjistit rozdíl mezi daným datem a dneškem nebo rozdíl mezi jakýmikoliv jinými daty, můžeme tato dvě data jednoduše odečíst. Excel nám automaticky rozdíl mezi daty vyjádří ve dnech (je-li buňka v obecném formátu).

odečtení dvou dat pomocí vzorce

Chceme-li rozdíl vyjádřit v letech nebo měsících, hodí se k tomu nejlépe funkce DATEDIF. Tato funkce není z dílny Microsoftu a proto ji nenajdete v knihovně funkcí Excelu. Musíte ji zapsat do buňky ručně.

=DATEDIF(starší datum;novější datum;formát)

První dva argumenty funkce jsou jednoduše dvě daty, mezi nimiž chceme zjistit rozdíl. Do třetího argumentu zapíšeme kód, který představuje formát, ve kterém chceme rozdíl mezi dvěma daty vyjádřit. Ten musí být zapsán do uvozovek. Pro roky použijeme „y“ a pro měsíce „m“.

rozdíl daty v letech pomocí DATEDIF

Další možnosti této funkce se dozvíte v následujícím videu.

8 komentářů u „Excel – rozdíl mezi dvěma daty

  1. Slavěna Walterová Reagovat

    DOBRÝ DEN
    Neporadil byste mi jak zjistit počet let mezi dvěma daty, když starší je rok před rokem 1900.
    Například:
    23.06.1875 a 30.10.1945
    Moc děkuji
    SW

    • Karel Autor článkuReagovat

      Dobrý den, Slavěno,
      pokud máte v Excelu v buňce napsáno datum před rokem 1900, je toto datum uloženo jako text (jinak to v Excelu ani nejde). Musíte tedy z toho textu dostat rok, např. funkce ZPRAVA, která vrátí 4 znaky zprava. Pak získat rok z buňky s datem od 1900, kde je datum uloženo opravdu jako datum funkcí ROK. A jednoduše ta dvě čísla odečíst. Samozřejmě rozdíl nebude přesný, protože i mezi daty 31.12.1899 a 1.1.1900 bude výsledek 1 rok. Pokud byste chtěla vyřešit i tento problém, vzorec by byl značně složitější.
      Karel Kohout

  2. Luboš Reagovat

    Dobrý den Karle, zkoušel jsem dle toho, co radíte Slavěně, ale asi někde dělám chybu, protože vzorec
    =(1900-ZPRAVA(„23.06.1875“;4))+DATEDIF(„1.1.1900″;C30;“y“) mi vrací hodnotu „10.03.1900“.
    Zkoušel jsem převést i převést výsledek „=(ZPRAVA(„23.06.1875″;4)“ na hodnotu funkcí NUMBERVALUE („=NUMBERVALUE(ZPRAVA(„23.06.1875″;4)“), ale bez účinku, pořád mi vrací „10.03.1900“.
    Viz „=NUMBERVALUE(1900-ZPRAVA(„23.06.1875“;4))+DATEDIF(„1.1.1900″;“30.10.1945″;“y“)“.

    Když to ale rozdělím na dvě buňky a ty pak sečtu, tak to funguje (25+45=70)
    1.buňka „=(1900-1875)“=25 a 2.buňka „DATEDIF(„1.1.1900″;“30.10.1945″;“y“)“=45.

    Čím to je ?

    • Karel Autor článkuReagovat

      Dobrý den, Luboši,
      problém je prostý. Buňka je jen špatně naformátována. Když 10.03.1900 naformátujete jako číslo, dostanete 70.

  3. Petr Glonek Reagovat

    Dobrý den, potřebuji poradit s vzorcem na přesný počet měsíců mezi dvěma daty. Tak aby od 1.4. do 15.4. dalo 0.5 a od 1.2. do 15.2. dalo 0.535 – je to větší část měsíce.
    Pak například od ( včetně) 3.4. do 20.7. = 3.578

    Děkuji

    • Karel Autor článkuReagovat

      Dobrý den, zkuste použít tento vzorec:
      =DATEDIF(A1;A2;“m“)+(DEN(A2)-DEN(A1)+1)/DEN(EOMONTH(A2;0))
      kde A1 je starší datum a A2 to novější.

  4. Síma Reagovat

    Dobrý den, potřebovala bych poradit, když mám dvě data Vytvoření požadavku (datum/hodinu/minutu/sekundu ) a další hodnotu ve stejném formátu a potřebuji z toho vyjádřit rozdíl v dnech a hodinách, tak úplně nevím jak to správně napsat do vzorce. Za radu moc předem děkuji.

    • Karel Autor článkuReagovat

      Dobrý den, tady záleží hodně na tom konkrétním formátu. Pokud by to bylo regulérní Excelové datum (např. 6.03.2023 20:16:33), tak by to šlo spočítat dvěma vzorci, jeden odečte dvě data, zaokrouhlí se dolů a získá rozdíl ve dnech, a druhý odečte dvě data, od nich počet dní (výsledek prvního vzorce) a výsledek převede na hodiny vynásobením 24. Pokud ale je formát opravdu takový, jak popisujete (6.03.2023/20/16/33), výpočet by byl asi velmi složitý.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *