Funkcia Excel DATEDIF na získanie rozdielu medzi dvoma dátumami

  • Zdieľajte To
Michael Brown

V tomto návode nájdete jednoduché vysvetlenie funkcie DATEDIF programu Excel a niekoľko príkladov vzorcov, ktoré ukazujú, ako porovnávať dátumy a vypočítať rozdiel v dňoch, týždňoch, mesiacoch alebo rokoch.

V uplynulých týždňoch sme sa venovali takmer všetkým aspektom práce s dátumami a časmi v programe Excel. Ak ste sledovali náš seriál blogov, už viete, ako vkladať a formátovať dátumy do pracovných hárkov, ako počítať dni v týždni, týždne, mesiace a roky, ako aj sčítavať a odčítavať dátumy.

V tomto návode sa zameriame na výpočet rozdielu dátumov v programe Excel a naučíte sa rôzne spôsoby počítania počtu dní, týždňov, mesiacov a rokov medzi dvoma dátumami.

    Jednoduché zistenie rozdielu medzi dvoma dátumami v programe Excel

    Získajte výsledok ako hotový vzorec v rokoch, mesiacoch, týždňoch alebo dňoch

    Prečítajte si viac

    Pridávanie a odoberanie dátumov niekoľkými kliknutiami

    Delegovanie budovania vzorcov na dátum & čas na odborníka

    Prečítajte si viac

    Výpočet veku v programe Excel za chodu

    A získajte vzorec na mieru

    Prečítajte si viac

    Funkcia Excel DATEDIF - získanie rozdielu dátumov

    Ako už názov napovedá, funkcia DATEDIF je určená na výpočet rozdielu medzi dvoma dátumami.

    DATEDIF je jednou z mála nedokumentovaných funkcií v programe Excel, a pretože je "skrytá", nenájdete ju na Vzorec karte, ani nedostanete žiadnu nápovedu, ktoré argumenty máte zadať, keď začnete písať názov funkcie do panela vzorcov. Preto je dôležité poznať kompletnú syntax funkcie Excel DATEDIF, aby ste ju mohli používať vo svojich vzorcoch.

    Funkcia Excel DATEDIF - syntax

    Syntax funkcie DATEDIF aplikácie Excel je nasledujúca:

    DATEDIF(start_date, end_date, unit)

    Vyžadujú sa všetky tri argumenty:

    Start_date - počiatočný dátum obdobia, ktoré chcete vypočítať.

    End_date - dátum ukončenia obdobia.

    Jednotka - časovú jednotku, ktorá sa má použiť pri výpočte rozdielu medzi dvoma dátumami. Zadaním rôznych jednotiek môžete dosiahnuť, aby funkcia DATEDIF vrátila rozdiel dátumov v dňoch, mesiacoch alebo rokoch. Celkovo je k dispozícii 6 jednotiek, ktoré sú opísané v nasledujúcej tabuľke.

    Jednotka Význam Vysvetlenie
    Y Roky Počet celých rokov medzi dátumom začiatku a konca.
    M Mesiace Počet celých mesiacov medzi dátumami.
    D Dni Počet dní medzi dátumom začatia a dátumom ukončenia.
    MD Dni okrem rokov a mesiacov Rozdiel v dátumoch v dňoch, bez ohľadu na mesiace a roky.
    YD Dni bez rokov Rozdiel dátumov v dňoch, bez ohľadu na roky.
    YM Mesiace okrem dní a rokov Rozdiel dátumov v mesiacoch, bez ohľadu na dni a roky.

    Vzorec Excel DATEDIF

    Ak chcete získať rozdiel medzi dvoma dátumami v programe Excel, vašou hlavnou úlohou je zadať počiatočný a koncový dátum funkcii DATEDIF. To možno urobiť rôznymi spôsobmi za predpokladu, že program Excel dokáže porozumieť a správne interpretovať zadané dátumy.

    Odkazy na bunky

    Najjednoduchší spôsob, ako vytvoriť vzorec DATEDIF v programe Excel, je zadať dva platné dátumy do samostatných buniek a odkazovať na tieto bunky. Napríklad nasledujúci vzorec počíta počet dní medzi dátumami v bunkách A1 a B1:

    =DATEDIF(A1, B1, "d")

    Textové reťazce

    Excel rozumie dátumom v mnohých textových formátoch, ako napríklad "1.1.2023", "1.1.2023", "1.1.2023" atď. Dátumy ako textové reťazce uzavreté v úvodzovkách môžete zadať priamo do argumentov vzorca. Takto môžete napríklad vypočítať počet mesiacov medzi zadanými dátumami:

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

    Sériové čísla

    Keďže Microsoft Excel ukladá každý dátum ako poradové číslo začínajúce 1. januárom 1900, používate čísla zodpovedajúce dátumom. Hoci je táto metóda podporovaná, nie je spoľahlivá, pretože číslovanie dátumov sa v rôznych počítačových systémoch líši. V systéme dátumov 1900 môžete použiť nasledujúci vzorec na zistenie počtu rokov medzi dvoma dátumami, 1. januárom 2023 a 31. decembrom 2025:

    =DATEDIF(44927, 46022, "y")

    Výsledky iných funkcií

    Ak chcete zistiť, koľko dní zostáva medzi dnešným dňom a 20. májom 2025, použite tento vzorec.

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

    Poznámka: Vo vašich vzorcoch musí byť konečný dátum vždy väčší ako počiatočný dátum, inak funkcia Excel DATEDIF vráti chybu #NUM!.

    Dúfame, že vyššie uvedené informácie pomohli pochopiť základy. A teraz sa pozrime, ako môžete použiť funkciu Excel DATEDIF na porovnanie dátumov v pracovných hárkoch a vrátenie rozdielu.

    Ako získať počet dní medzi dvoma dátumami v programe Excel

    Ak ste pozorne sledovali argumenty funkcie DATEDIF, všimli ste si, že existujú 3 rôzne jednotky na počítanie dní medzi dátumami. Ktorú z nich použijete, závisí presne od vašich potrieb.

    Príklad 1. Vzorec DATEDIF programu Excel na výpočet rozdielu dátumov v dňoch

    Predpokladajme, že máte počiatočný dátum v bunke A2 a koncový dátum v bunke B2 a chcete, aby Excel vrátil rozdiel dátumov v dňoch. Jednoduchý vzorec DATEDIF funguje výborne:

    =DATEDIF(A2, B2, "d")

    Za predpokladu, že hodnota v argumente start_date je menšia ako v end_date. V prípade, že je počiatočný dátum väčší ako koncový dátum, funkcia Excel DATEDIF vráti chybu #NUM, ako v riadku 5:

    Ak hľadáte vzorec, ktorý dokáže vrátiť rozdiel dátumov v dňoch ako kladné alebo záporné číslo, jednoducho odčítajte jeden dátum priamo od druhého:

    =B2-A2

    Podrobnosti a ďalšie príklady vzorcov nájdete v časti Ako odčítať dátumy v programe Excel.

    Príklad 2. Počítanie dní v programe Excel bez ohľadu na roky

    Predpokladajme, že máte dva zoznamy dátumov, ktoré patria do rôznych rokov, a chcete vypočítať počet dní medzi dátumami, ako keby patrili do toho istého roku. Na to použite vzorec DATEDIF s jednotkou "YD":

    =DATEDIF(A2, B2, "yd")

    Ak chcete, aby funkcia DATEDIF programu Excel ignorovala nielen roky, ale aj mesiace, použite jednotku "md". V tomto prípade váš vzorec vypočíta dni medzi dvoma dátumami, ako keby boli v rovnakom mesiaci a rovnakom roku:

    =DATEDIF(A2, B2, "md")

    Nasledujúca snímka obrazovky ukazuje výsledky a jej porovnanie s vyššie uvedenou snímkou obrazovky môže pomôcť lepšie pochopiť rozdiel.

    Tip. Ak chcete získať počet pracovné dni medzi dvoma dátumami, použite funkciu NETWORKDAYS alebo NETWORKDAYS.INTL.

    Ako vypočítať rozdiel dátumov v týždňoch

    Ako ste si pravdepodobne všimli, funkcia DATEDIF programu Excel nemá špeciálnu jednotku na výpočet rozdielu dátumov v týždňoch. Existuje však jednoduché riešenie.

    Ak chcete zistiť, koľko týždňov je medzi dvoma dátumami, môžete použiť funkciu DATEDIF s jednotkou "D", ktorá vráti rozdiel v dňoch, a potom výsledok vydeliť 7.

    Ak chcete získať počet celé týždne medzi dátumami, zabalte vzorec DATEDIF do funkcie ROUNDDOWN, ktorá číslo vždy zaokrúhli smerom k nule:

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

    Kde A2 je dátum začiatku a B2 je dátum konca vypočítavaného obdobia.

    Ako vypočítať počet mesiacov medzi dvoma dátumami v programe Excel

    Podobne ako pri počítaní dní môže funkcia DATEDIF programu Excel vypočítať počet mesiacov medzi dvoma zadanými dátumami. V závislosti od zadanej jednotky poskytne vzorec rôzne výsledky.

    Príklad 1. Výpočet celých mesiacov medzi dvoma dátumami (DATEDIF)

    Ak chcete spočítať počet celých mesiacov medzi dátumami, použite funkciu DATEDIF s jednotkou "M". Napríklad nasledujúci vzorec porovnáva dátumy v A2 (dátum začiatku) a B2 (dátum konca) a vracia rozdiel v mesiacoch:

    =DATEDIF(A2, B2, "m")

    Poznámka: Aby vzorec DATEDIF správne vypočítal mesiace, konečný dátum by mal byť vždy väčší ako počiatočný dátum, inak vzorec vráti chybu #NUM.

    Aby ste sa vyhli takýmto chybám, môžete prinútiť program Excel, aby ako počiatočný dátum vždy vnímal starší dátum a ako koncový dátum novší dátum. Ak to chcete urobiť, pridajte jednoduchý logický test:

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

    Príklad 2. Získanie počtu mesiacov medzi dvoma dátumami ignorujúcimi roky (DATEDIF)

    Ak chcete spočítať počet mesiacov medzi dátumami, ako keby boli v tom istom roku, zadajte do argumentu jednotky "YM":

    =DATEDIF(A2, B2, "ym")

    Ako vidíte, tento vzorec vráti chybu aj v riadku 6, kde je koncový dátum menší ako počiatočný dátum. Ak váš súbor údajov môže obsahovať takéto dátumy, riešenie nájdete v ďalších príkladoch.

    Príklad 3. Výpočet mesiacov medzi dvoma dátumami (funkcia MONTH)

    Alternatívnym spôsobom výpočtu počtu mesiacov medzi dvoma dátumami v programe Excel je použitie funkcie MESIAC, presnejšie kombinácie funkcií MESIAC a ROK:

    =(ROK(B2) - ROK(A2))*12 + MESIAC(B2) - MESIAC(A2)

    Samozrejme, tento vzorec nie je taký prehľadný ako DATEDIF a chvíľu trvá, kým sa zorientujete v jeho logike. Na rozdiel od funkcie DATEDIF však dokáže porovnať ľubovoľné dva dátumy a vrátiť rozdiel v mesiacoch ako kladnú alebo zápornú hodnotu:

    Všimnite si, že vzorec YEAR/MONTH nemá problém s výpočtom mesiacov v riadku 6, kde je počiatočný dátum novší ako koncový dátum, čo je scenár, v ktorom analogický vzorec DATEDIF zlyháva.

    Poznámka: Výsledky vrátené vzorcami DATEDIF a YEAR/MONTH nie sú vždy totožné, pretože fungujú na odlišných princípoch. Funkcia DATEDIF v programe Excel vracia počet celé kalendárne mesiace medzi dátumami, zatiaľ čo vzorec YEAR/MONTH pracuje s číslami mesiacov.

    Napríklad v riadku 7 na obrázku vyššie vzorec DATEDIF vráti 0, pretože medzi dátumami ešte neuplynul celý kalendárny mesiac, zatiaľ čo vzorec YEAR/MONTH vráti 1, pretože dátumy patria do rôznych mesiacov.

    Príklad 4. Počítanie mesiacov medzi 2 dátumami bez ohľadu na roky (funkcia MONTH)

    V prípade, že všetky vaše dátumy patria do rovnakého roku alebo chcete vypočítať mesiace medzi dátumami ignorujúcimi roky, môžete pomocou funkcie MONTH získať mesiac z každého dátumu a potom odčítať jeden mesiac od druhého:

    =MESIAC(B2) - MESIAC(A2)

    Tento vzorec funguje podobne ako vzorec Excel DATEDIF s jednotkou "YM", ako je znázornené na nasledujúcej snímke obrazovky:

    Výsledky vrátené dvoma vzorcami sa však líšia o niekoľko riadkov:

    • Riadok 4: konečný dátum je menší ako počiatočný dátum, a preto DATEDIF vráti chybu, zatiaľ čo MONTH-MONTH poskytne zápornú hodnotu.
    • Riadok 6: dátumy sú z rôznych mesiacov, ale skutočný rozdiel dátumov je len jeden deň. DATEDIF vráti 0, pretože počíta celé mesiace medzi 2 dátumami. MONTH-MONTH vráti 1, pretože od seba odpočíta čísla mesiacov, pričom ignoruje dni a roky.

    Ako vypočítať roky medzi dvoma dátumami v programe Excel

    Ak ste postupovali podľa predchádzajúcich príkladov, v ktorých sme počítali mesiace a dni medzi dvoma dátumami, potom môžete ľahko odvodiť vzorec na výpočet rokov v programe Excel. Nasledujúce príklady vám pomôžu skontrolovať, či ste vzorec pochopili správne :)

    Príklad 1. Výpočet celých rokov medzi dvoma dátumami (funkcia DATEDIF)

    Ak chcete zistiť počet celých kalendárnych rokov medzi dvoma dátumami, použite starý dobrý DATEDIF s jednotkou "Y":

    =DATEDIF(A2,B2, "y")

    Všimnite si, že vzorec DATEDIF vracia v riadku 6 hodnotu 0, hoci dátumy sú z rôznych rokov. Je to preto, že počet celých kalendárnych rokov medzi počiatočným a koncovým dátumom sa rovná nule. A verím, že vás neprekvapí chyba #NUM! v riadku 7, kde je počiatočný dátum novší ako koncový dátum.

    Príklad 2. Výpočet rokov medzi dvoma dátumami (funkcia YEAR)

    Alternatívnym spôsobom výpočtu rokov v programe Excel je použitie funkcie ROK. Podobne ako pri vzorci MESIAC, z každého dátumu vyčleníte rok a potom roky od seba odpočítate:

    =ROK(B2) - ROK(A2)

    Na nasledujúcom obrázku môžete porovnať výsledky vrátené funkciami DATEDIF a YEAR:

    Vo väčšine prípadov sú výsledky totožné, s výnimkou:

    • Funkcia DATEDIF vypočíta celé kalendárne roky, zatiaľ čo vzorec YEAR jednoducho odčíta jeden rok od druhého. Riadok 6 ilustruje tento rozdiel.
    • Vzorec DATEDIF vráti chybu, ak je počiatočný dátum väčší ako koncový dátum, zatiaľ čo funkcia YEAR vráti zápornú hodnotu, ako v riadku 7.

    Ako získať rozdiel dátumov v dňoch, mesiacoch a rokoch

    Ak chcete spočítať počet celých rokov, mesiacov a dní medzi dvoma dátumami v jednom vzorci, jednoducho spojte tri funkcie DATEDIF:

    =DATEDIF(A2, B2, "y") &" roky, "&DATEDIF(A2, B2, "ym") &" mesiace, " &DATEDIF(A2, B2, "md") &" dni"

    Ak nechcete zobrazovať nulové hodnoty, môžete každý DATEDIF zabaliť do funkcie IF takto:

    =IF(DATEDIF(A2,B2, "y")=0, "", DATEDIF(A2,B2, "y") & " rokov ") & IF(DATEDIF(A2,B2, "ym")=0,", DATEDIF(A2,B2, "ym") & " mesiacov ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " dní"

    Vzorec zobrazuje iba nenulové prvky, ako je to znázornené na nasledujúcej snímke obrazovky:

    Ďalšie spôsoby, ako získať rozdiel dátumov v dňoch, nájdete v časti Ako vypočítať dni od dátumu alebo do dátumu v programe Excel.

    Vzorce DATEDIF na výpočet veku v programe Excel

    V skutočnosti je výpočet veku niekoho na základe dátumu narodenia špeciálnym prípadom výpočtu rozdielu dátumov v programe Excel, kde je koncovým dátumom dnešný dátum. Takže použijete bežný vzorec DATEDIF s jednotkou "Y", ktorý vráti počet rokov medzi dátumami, a do argumentu end_date zadáte funkciu TODAY():

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

    Kde A2 je dátum narodenia.

    Vyššie uvedený vzorec vypočíta počet celých rokov. Ak chcete získať presný vek vrátane rokov, mesiacov a dní, spojte tri funkcie DATEDIF, ako sme to urobili v predchádzajúcom príklade:

    =DATEDIF(B2,TODAY(), "y") & " Roky, " & DATEDIF(B2,TODAY(), "ym") & " Mesiace, " & DATEDIF(B2,TODAY(), "md") & " Dni"

    A dostanete nasledujúci výsledok:

    Ak sa chcete dozvedieť ďalšie metódy prevodu dátumu narodenia na vek, pozrite si článok Ako vypočítať vek z dátumu narodenia.

    Sprievodca dátumom & amp; časom - jednoduchý spôsob vytvárania vzorcov na rozdiel dátumov v programe Excel

    Ako sme si ukázali v prvej časti tohto návodu, funkcia DATEDIF v programe Excel je pomerne univerzálna funkcia vhodná na rôzne spôsoby použitia. Má však jednu významnú nevýhodu - spoločnosť Microsoft ju nedokumentuje, čo znamená, že funkciu DATEDIF nenájdete v zozname funkcií ani sa vám nezobrazia žiadne upozornenia na argumenty, keď začnete písať vzorec do bunky. Aby ste mohli funkciu DATEDIF používať vhárkov, musíte si zapamätať jeho syntax a zadať všetky argumenty ručne, čo môže byť časovo náročné a náchylné na chyby, najmä pre začiatočníkov.

    Balík Ultimate Suite pre Excel to radikálne mení, pretože teraz poskytuje Dátum & Sprievodca časom ktorý dokáže v okamihu zmeniť takmer akýkoľvek vzorec na dátum. Tu je návod, ako na to:

    1. Vyberte bunku, do ktorej chcete vložiť vzorec.
    2. Prejdite na Nástroje Ablebits karta> Dátum & Čas a kliknite na Dátum & Sprievodca časom tlačidlo:

  • Stránka Dátum & Sprievodca časom sa zobrazí dialógové okno, prepnete na Rozdiel a zadajte údaje pre argumenty vzorca:
    • Kliknite na Dátum 1 (alebo kliknite na Dialógové okno Zrútiť vpravo od poľa) a vyberte bunku obsahujúcu prvý dátum.
    • Kliknite na Dátum 2 a vyberte bunku s druhým dátumom.
    • Vyberte požadovanú jednotku alebo kombináciu jednotiek z Rozdiel v Sprievodca vám umožní zobraziť náhľad výsledku v rámčeku a vzorca v bunke.
    • Ak ste s náhľadom spokojní, kliknite na tlačidlo Vložte vzorec inak vyskúšajte iné jednotky.

    Takto môžete napríklad získať počet dní medzi dvoma dátumami v programe Excel:

    Po vložení vzorca do vybranej bunky ho môžete kopírovať do iných buniek ako zvyčajne dvojitým kliknutím alebo potiahnutím úchytu výplne. Výsledok bude vyzerať podobne:

    Na prezentáciu výsledkov najvhodnejším spôsobom je k dispozícii niekoľko ďalších možností:

    • Vylúčiť roky a/alebo vylúčiť mesiace z výpočtov.
    • Zobraziť alebo nezobraziť textové štítky ako dni , mesiace , týždne a rokov .
    • Zobraziť alebo nezobraziť nula jednotiek .
    • Vrátenie výsledkov ako záporné hodnoty ak je dátum 1 (dátum začiatku) väčší ako dátum 2 (dátum konca).

    Ako príklad uvedieme rozdiel medzi dvoma dátumami v rokoch, mesiacoch, týždňoch a dňoch, pričom zanedbáme nulové jednotky:

    Výhody používania Date & Time Formula Wizard

    Okrem rýchlosti a jednoduchosti poskytuje Date & Time Wizard niekoľko ďalších výhod:

    • Na rozdiel od bežného vzorca DATEDIF sa pokročilý vzorec vytvorený sprievodcom nezaujíma o to, ktorý z dvoch dátumov je menší a ktorý väčší. Rozdiel sa vždy vypočíta dokonale, aj keď je dátum 1 (počiatočný dátum) väčší ako dátum 2 (koncový dátum).
    • Sprievodca podporuje všetky možné jednotky (dni, týždne, mesiace a roky) a umožňuje vám vybrať si z 11 rôznych kombinácií týchto jednotiek.
    • Vzorce, ktoré pre vás sprievodca vytvorí, sú bežné vzorce programu Excel, takže ich môžete upravovať, kopírovať alebo presúvať ako zvyčajne. Pracovné hárky môžete zdieľať aj s inými ľuďmi a všetky vzorce zostanú na svojom mieste, aj keď niekto nemá v programe Excel balík Ultimate Suite.

    Takto vypočítate rozdiel medzi dvoma dátumami v rôznych časových intervaloch. Dúfajme, že funkcia DATEDIF a ďalšie vzorce, ktoré ste sa dnes naučili, sa vám budú hodiť pri vašej práci.

    Dostupné súbory na stiahnutie

    14-dňová plne funkčná verzia balíka Ultimate Suite (.exe súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.