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.

4 komentáře 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.

Napsat komentář

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