Funkce DATEDIF aplikace Excel pro získání rozdílu mezi dvěma daty

  • Sdílet Toto
Michael Brown

V tomto kurzu najdete jednoduché vysvětlení funkce DATEDIF aplikace Excel a několik příkladů vzorců, které ukazují, jak porovnávat data a vypočítat rozdíl ve dnech, týdnech, měsících nebo letech.

V uplynulých týdnech jsme se zabývali téměř všemi aspekty práce s daty a časy v aplikaci Excel. Pokud jste sledovali náš seriál blogů, víte již, jak vkládat a formátovat data v pracovních listech, jak vypočítat dny v týdnu, týdny, měsíce a roky a jak sčítat a odečítat data.

V tomto kurzu se zaměříme na výpočet rozdílu dat v aplikaci Excel a naučíte se různé způsoby, jak spočítat počet dní, týdnů, měsíců a let mezi dvěma daty.

    Snadné zjištění rozdílu mezi dvěma daty v aplikaci Excel

    Získejte výsledek jako hotový vzorec v letech, měsících, týdnech nebo dnech.

    Přečtěte si více

    Přidání a odečtení dat na pár kliknutí

    Delegovat sestavení vzorců pro datum & amp; čas na odborníka

    Přečtěte si více

    Výpočet věku v aplikaci Excel za běhu

    A získejte vzorec na míru

    Přečtěte si více

    Funkce DATEDIF aplikace Excel - získání rozdílu dat

    Funkce DATEDIF slouží k výpočtu rozdílu mezi dvěma daty, jak napovídá její název.

    Funkce DATEDIF je jednou z mála nedokumentovaných funkcí v aplikaci Excel, a protože je "skrytá", nenajdete ji v seznamu funkcí. Vzorec kartě, ani nedostanete žádnou nápovědu, které argumenty máte zadat, když začnete psát název funkce do panelu vzorců. Proto je důležité znát kompletní syntaxi funkce Excel DATEDIF, abyste ji mohli používat ve svých vzorcích.

    Funkce DATEDIF aplikace Excel - syntaxe

    Syntaxe funkce DATEDIF aplikace Excel je následující:

    DATEDIF(datum_začátku, datum_konce, jednotka)

    Jsou vyžadovány všechny tři argumenty:

    Start_date - počáteční datum období, které chcete vypočítat.

    End_date - datum konce období.

    Jednotka - časovou jednotku, která se má použít při výpočtu rozdílu mezi dvěma daty. Zadáním různých jednotek můžete funkci DATEDIF přimět, aby vrátila rozdíl dat ve dnech, měsících nebo letech. Celkem je k dispozici 6 jednotek, které jsou popsány v následující tabulce.

    Jednotka Význam Vysvětlení
    Y Roky Počet celých let mezi počátečním a konečným datem.
    M Měsíce Počet celých měsíců mezi daty.
    D Dny Počet dní mezi datem zahájení a datem ukončení.
    MD Dny bez let a měsíců Rozdíl v datech ve dnech, bez ohledu na měsíce a roky.
    YD Dny bez let Rozdíl v datech ve dnech, bez ohledu na roky.
    YM Měsíce kromě dnů a let Rozdíl v datech v měsících, bez ohledu na dny a roky.

    Vzorec DATEDIF aplikace Excel

    Chcete-li v aplikaci Excel zjistit rozdíl mezi dvěma daty, je vaším hlavním úkolem zadat počáteční a koncové datum funkci DATEDIF. To lze provést různými způsoby za předpokladu, že aplikace Excel dokáže zadaná data pochopit a správně interpretovat.

    Odkazy na buňky

    Nejjednodušší způsob, jak vytvořit vzorec DATEDIF v aplikaci Excel, je zadat dvě platná data do samostatných buněk a odkazovat na tyto buňky. Následující vzorec například spočítá počet dní mezi daty v buňkách A1 a B1:

    =DATEDIF(A1, B1, "d")

    Textové řetězce

    Excel rozumí datům v mnoha textových formátech, jako například "1.1.2023", "1.1.2023", "1.1.2023" atd. Data jako textové řetězce uzavřené v uvozovkách lze zadat přímo do argumentů vzorce. Takto lze například vypočítat počet měsíců mezi zadanými daty:

    =DATEDIF("1/1/2023", "12/31/2025", "m")

    Sériová čísla

    Vzhledem k tomu, že Microsoft Excel ukládá každé datum jako pořadové číslo počínaje 1. lednem 1900, používáte čísla odpovídající datům. Ačkoli je tato metoda podporována, není spolehlivá, protože číslování dat se v různých počítačových systémech liší. V systému dat 1900 můžete použít níže uvedený vzorec pro zjištění počtu let mezi dvěma daty, 1. lednem 2023 a 31. prosincem 2025:

    =DATEDIF(44927, 46022, "y")

    Výsledky ostatních funkcí

    Chcete-li zjistit, kolik dní zbývá do 20. května 2025, použijte tento vzorec.

    =DATEDIF(TODAY(), "5/20/2025", "d")

    Poznámka: Ve vzorcích musí být koncové datum vždy větší než počáteční datum, jinak funkce DATEDIF aplikace Excel vrátí chybu #NUM!.

    Doufejme, že vám výše uvedené informace pomohly pochopit základy. A nyní se podívejme, jak můžete použít funkci DATEDIF aplikace Excel k porovnání dat v pracovních listech a vrácení rozdílu.

    Jak získat počet dní mezi dvěma daty v aplikaci Excel

    Pokud jste pozorně sledovali argumenty funkce DATEDIF, všimli jste si, že existují 3 různé jednotky pro počítání dnů mezi daty. Kterou z nich použijete, záleží přesně na vašich potřebách.

    Příklad 1. Vzorec DATEDIF aplikace Excel pro výpočet rozdílu dat ve dnech

    Předpokládejme, že máte počáteční datum v buňce A2 a koncové datum v buňce B2 a chcete, aby Excel vrátil rozdíl dat ve dnech. Jednoduchý vzorec DATEDIF funguje dobře:

    =DATEDIF(A2, B2, "d")

    Za předpokladu, že hodnota v argumentu start_date je menší než v end_date. V případě, že je datum začátku větší než datum konce, funkce Excel DATEDIF vrátí chybu #NUM, jako v řádku 5:

    Pokud hledáte vzorec, který vrátí rozdíl dat ve dnech jako kladné nebo záporné číslo, jednoduše odečtěte jedno datum přímo od druhého:

    =B2-A2

    Podrobné informace a další příklady vzorců naleznete v části Jak odečíst data v aplikaci Excel.

    Příklad 2. Počítání dnů v aplikaci Excel bez ohledu na roky

    Předpokládejme, že máte dva seznamy dat, která patří do různých let, a chcete vypočítat počet dní mezi daty, jako by patřila do stejného roku. K tomu použijte vzorec DATEDIF s jednotkou "YD":

    =DATEDIF(A2, B2, "yd")

    Pokud chcete, aby funkce DATEDIF aplikace Excel ignorovala nejen roky, ale také měsíce, použijte jednotku "md". V tomto případě váš vzorec vypočítá dny mezi dvěma daty, jako by se jednalo o stejný měsíc a stejný rok:

    =DATEDIF(A2, B2, "md")

    Níže uvedený snímek obrazovky demonstruje výsledky a porovnání s výše uvedeným snímkem obrazovky může pomoci lépe pochopit rozdíl.

    Tip. Chcete-li získat počet pracovní dny mezi dvěma daty, použijte funkci NETWORKDAYS nebo NETWORKDAYS.INTL.

    Jak vypočítat rozdíl dat v týdnech

    Jak jste si pravděpodobně všimli, funkce DATEDIF aplikace Excel nemá speciální jednotku pro výpočet rozdílu dat v týdnech. Existuje však snadné řešení.

    Chcete-li zjistit, kolik týdnů dělí dvě data, můžete použít funkci DATEDIF s jednotkou "D", která vrátí rozdíl ve dnech, a výsledek vydělit 7.

    Chcete-li získat počet celé týdny mezi daty, obalte vzorec DATEDIF funkcí ROUNDDOWN, která číslo vždy zaokrouhlí směrem k nule:

    =ROUNDDOWN((DATEDIF(A2, B2, "d") / 7), 0)

    Kde A2 je počáteční datum a B2 je datum konce počítaného období.

    Jak vypočítat počet měsíců mezi dvěma daty v aplikaci Excel

    Podobně jako při počítání dnů může funkce DATEDIF aplikace Excel vypočítat počet měsíců mezi dvěma zadanými daty. V závislosti na zadané jednotce poskytne vzorec různé výsledky.

    Příklad 1. Výpočet celých měsíců mezi dvěma daty (DATEDIF)

    Chcete-li spočítat počet celých měsíců mezi daty, použijte funkci DATEDIF s jednotkou "M". Například následující vzorec porovná data v A2 (počáteční datum) a B2 (konečné datum) a vrátí rozdíl v měsících:

    =DATEDIF(A2, B2, "m")

    Poznámka: Aby vzorec DATEDIF správně počítal měsíce, mělo by být datum konce vždy větší než datum začátku, jinak vzorec vrátí chybu #NUM.

    Chcete-li se těmto chybám vyhnout, můžete aplikaci Excel přinutit, aby jako počáteční datum vždy vnímala starší datum a jako koncové datum novější datum. Za tímto účelem přidejte jednoduchý logický test:

    =IF(B2>A2, DATEDIF(A2,B2, "m"), DATEDIF(B2,A2, "m"))

    Příklad 2. Zjištění počtu měsíců mezi dvěma daty ignorujícími roky (DATEDIF)

    Chcete-li spočítat počet měsíců mezi daty, jako by se jednalo o stejný rok, zadejte do argumentu jednotky "YM":

    =DATEDIF(A2, B2, "ym")

    Jak vidíte, tento vzorec vrací chybu i v řádku 6, kde je datum konce menší než datum začátku. Pokud váš soubor dat může obsahovat taková data, řešení najdete v dalších příkladech.

    Příklad 3. Výpočet měsíců mezi dvěma daty (funkce MONTH)

    Alternativním způsobem výpočtu počtu měsíců mezi dvěma daty v aplikaci Excel je použití funkce MĚSÍC, přesněji řečeno kombinace funkcí MĚSÍC a ROK:

    =(ROK(B2) - ROK(A2))*12 + MĚSÍC(B2) - MĚSÍC(A2)

    Tento vzorec samozřejmě není tak přehledný jako funkce DATEDIF a chvíli trvá, než se v jeho logice zorientujete. Na rozdíl od funkce DATEDIF však dokáže porovnat libovolná dvě data a vrátit rozdíl v měsících jako kladnou nebo zápornou hodnotu:

    Všimněte si, že vzorec YEAR/MONTH nemá problém s výpočtem měsíců v řádku 6, kde je počáteční datum novější než koncové datum, což je scénář, ve kterém analogický vzorec DATEDIF selhává.

    Poznámka: Výsledky, které vrací vzorce DATEDIF a YEAR/MONTH, nejsou vždy totožné, protože fungují na odlišných principech. Funkce DATEDIF aplikace Excel vrací počet celé kalendářní měsíce mezi daty, zatímco vzorec YEAR/MONTH pracuje s čísly měsíců.

    Například v řádku 7 na výše uvedeném obrázku vrací vzorec DATEDIF hodnotu 0, protože mezi daty ještě neuplynul celý kalendářní měsíc, zatímco vzorec YEAR/MONTH vrací hodnotu 1, protože data patří do různých měsíců.

    Příklad 4. Počítání měsíců mezi 2 daty bez ohledu na roky (funkce MONTH)

    V případě, že všechna data spadají do stejného roku nebo chcete vypočítat měsíce mezi daty ignorujícími roky, můžete pomocí funkce MONTH získat měsíc z každého data a poté odečíst jeden měsíc od druhého:

    =MĚSÍC(B2) - MĚSÍC(A2)

    Tento vzorec funguje podobně jako vzorec DATEDIF aplikace Excel s jednotkou "YM", jak ukazuje následující obrázek:

    Výsledky vrácené dvěma vzorci se však liší o několik řádků:

    • Řádek 4: datum konce je menší než datum začátku, a proto DATEDIF vrací chybu, zatímco MONTH-MONTH dává zápornou hodnotu.
    • Řádek 6: data jsou z různých měsíců, ale skutečný rozdíl dat je pouze jeden den. DATEDIF vrací 0, protože počítá celé měsíce mezi 2 daty. MONTH-MONTH vrací 1, protože od sebe odečítá čísla měsíců a ignoruje dny a roky.

    Jak vypočítat roky mezi dvěma daty v aplikaci Excel

    Pokud jste postupovali podle předchozích příkladů, kde jsme počítali měsíce a dny mezi dvěma daty, pak můžete snadno odvodit vzorec pro výpočet let v Excelu. Následující příklady vám pomohou zkontrolovat, zda jste vzorec pochopili správně :)

    Příklad 1. Výpočet celých let mezi dvěma daty (funkce DATEDIF)

    Chcete-li zjistit počet celých kalendářních let mezi dvěma daty, použijte starý dobrý DATEDIF s jednotkou "Y":

    =DATEDIF(A2,B2, "y")

    Všimněte si, že vzorec DATEDIF vrací v řádku 6 hodnotu 0, přestože data jsou z různých let. Je to proto, že počet celých kalendářních let mezi počátečním a koncovým datem se rovná nule. A věřím, že vás nepřekvapí chyba #NUM! v řádku 7, kde je počáteční datum novější než koncové.

    Příklad 2. Výpočet let mezi dvěma daty (funkce YEAR)

    Alternativním způsobem výpočtu roků v aplikaci Excel je použití funkce ROK. Podobně jako u vzorce MĚSÍC vyjmete rok z každého data a poté roky od sebe odečtete:

    =ROK(B2) - ROK(A2)

    Na následujícím obrázku můžete porovnat výsledky vrácené funkcemi DATEDIF a YEAR:

    Ve většině případů jsou výsledky totožné, až na to, že:

    • Funkce DATEDIF počítá celé kalendářní roky, zatímco vzorec YEAR pouze odečítá jeden rok od druhého. Řádek 6 ilustruje tento rozdíl.
    • Vzorec DATEDIF vrátí chybu, pokud je počáteční datum větší než koncové datum, zatímco funkce YEAR vrátí zápornou hodnotu, jako v řádku 7.

    Jak získat rozdíl v datech ve dnech, měsících a letech

    Chcete-li spočítat počet celých let, měsíců a dnů mezi dvěma daty v jednom vzorci, jednoduše spojte tři funkce DATEDIF:

    =DATEDIF(A2, B2, "y") &" roky, "&DATEDIF(A2, B2, "ym") &" měsíce, " &DATEDIF(A2, B2, "md") &" dny"

    Pokud nechcete zobrazovat nulové hodnoty, můžete každou hodnotu DATEDIF zabalit do funkce IF následujícím způsobem:

    =IF(DATEDIF(A2,B2, "y")=0, "", DATEDIF(A2,B2, "y") & " roky ") & IF(DATEDIF(A2,B2, "ym")=0,", DATEDIF(A2,B2, "ym") & " měsíce ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " dny"

    Vzorec zobrazuje pouze nenulové prvky, jak ukazuje následující obrázek:

    Další způsoby, jak získat rozdíl v datech ve dnech, naleznete v části Jak vypočítat dny od data nebo do data v aplikaci Excel.

    Vzorce DATEDIF pro výpočet věku v aplikaci Excel

    Výpočet věku člověka na základě data narození je vlastně speciálním případem výpočtu rozdílu dat v aplikaci Excel, kde je koncovým datem dnešní datum. Použijete tedy obvyklý vzorec DATEDIF s jednotkou "Y", který vrátí počet let mezi daty, a do argumentu end_date zadáte funkci TODAY():

    =DATEDIF(A2, TODAY(), "y")

    Kde A2 je datum narození.

    Výše uvedený vzorec vypočítá počet celých let. Pokud chcete získat přesný věk včetně let, měsíců a dnů, spojte tři funkce DATEDIF, jako jsme to udělali v předchozím příkladu:

    =DATEDIF(B2,TODAY(), "y") & " Roky, " & DATEDIF(B2,TODAY(), "ym") & " Měsíce, " & DATEDIF(B2,TODAY(), "md") & " Dny"

    A dostanete následující výsledek:

    Další metody převodu data narození na věk najdete v článku Jak vypočítat věk z data narození.

    Průvodce datem & amp; časem - snadný způsob vytváření vzorců pro rozdíl dat v aplikaci Excel

    Jak jsme si ukázali v první části tohoto návodu, funkce DATEDIF je v Excelu poměrně univerzální a hodí se pro nejrůznější použití. Má však jednu podstatnou nevýhodu - společnost Microsoft ji nedokumentuje, což znamená, že funkci DATEDIF nenajdete v seznamu funkcí, ani se vám nezobrazí žádné nápovědy k argumentům, když začnete psát vzorec do buňky. Abyste mohli funkci DATEDIF používat v aplikacilistů, musíte si pamatovat jeho syntaxi a zadávat všechny argumenty ručně, což může být časově náročné a náchylné k chybám, zejména pro začátečníky.

    Sada Ultimate Suite pro Excel to radikálně mění, protože nyní poskytuje možnost Datum & amp; Průvodce časem který dokáže během chvilky změnit vzorec téměř na jakýkoli datum. Zde je návod:

    1. Vyberte buňku, do které chcete vzorec vložit.
    2. Přejděte na Nástroje Ablebits karta> Datum & Čas a klikněte na Datum & amp; Průvodce časem tlačítko:

  • Na stránkách Datum & amp; Průvodce časem se zobrazí dialogové okno, přepnete na Rozdíl a zadejte údaje pro argumenty vzorce:
    • Klikněte na Datum 1 (nebo klikněte na Sbalit dialogové okno vpravo od rámečku) a vyberte buňku obsahující první datum.
    • Klikněte na Datum 2 a vyberte buňku s druhým datem.
    • Vyberte požadovanou jednotku nebo kombinaci jednotek z nabídky Rozdíl v Průvodce vám při tom umožní zobrazit náhled výsledku v rámečku a vzorce v buňce.
    • Pokud jste s náhledem spokojeni, klikněte na tlačítko Vložte vzorec jinak vyzkoušejte jiné jednotky.

    Takto můžete například získat počet dní mezi dvěma daty v aplikaci Excel:

    Jakmile je vzorec vložen do vybrané buňky, můžete jej obvyklým způsobem zkopírovat do dalších buněk dvojklikem nebo přetažením úchytu výplně. Výsledek bude vypadat podobně:

    Aby bylo možné výsledky prezentovat co nejvhodnějším způsobem, je k dispozici několik dalších možností:

    • Vyloučit roky a/nebo vyloučit měsíce z výpočtů.
    • Zobrazit nebo nezobrazit textové štítky jako dny , měsíce , týdny a let .
    • Zobrazit nebo nezobrazit nulové jednotky .
    • Vrátit výsledky jako záporné hodnoty pokud je datum 1 (datum zahájení) větší než datum 2 (datum ukončení).

    Jako příklad uveďme rozdíl mezi dvěma daty v letech, měsících, týdnech a dnech, přičemž zanedbáme nulové jednotky:

    Výhody použití Průvodce vzorcem data & času

    Kromě rychlosti a jednoduchosti poskytuje Průvodce datem & časem několik dalších výhod:

    • Na rozdíl od běžného vzorce DATEDIF se pokročilý vzorec vytvořený průvodcem nestará o to, které z obou dat je menší a které větší. Rozdíl se vždy vypočítá dokonale, i když je datum 1 (počáteční datum) větší než datum 2 (koncové datum).
    • Průvodce podporuje všechny možné jednotky (dny, týdny, měsíce a roky) a umožňuje vybrat z 11 různých kombinací těchto jednotek.
    • Vzorce, které pro vás průvodce sestaví, jsou běžné vzorce aplikace Excel, takže je můžete upravovat, kopírovat nebo přesouvat jako obvykle. Své pracovní listy můžete také sdílet s ostatními lidmi a všechny vzorce zůstanou zachovány, i když někdo nemá v aplikaci Excel sadu Ultimate Suite.

    Takto se vypočítá rozdíl dvou dat v různých časových intervalech. Doufejme, že funkce DATEDIF a další vzorce, které jste se dnes naučili, se vám budou při práci hodit.

    Dostupné soubory ke stažení

    Ultimate Suite 14denní plně funkční verze (.exe soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.