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).

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“.

Další možnosti této funkce se dozvíte v následujícím videu.
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
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
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 ?
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.
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
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ší.
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.
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ý.