Funcția Excel DATEDIF pentru a obține diferența dintre două date

  • Imparte Asta
Michael Brown

În acest tutorial, veți găsi o explicație simplă a funcției Excel DATEDIF și câteva exemple de formule care demonstrează cum să comparați datele și să calculați diferența în zile, săptămâni, luni sau ani.

În ultimele săptămâni, am investigat aproape toate aspectele legate de lucrul cu datele și orele în Excel. Dacă ați urmărit seria noastră de bloguri, știți deja cum să inserați și să formatați datele în foile de lucru, cum să calculați zilele săptămânii, săptămânile, lunile și anii, precum și cum să adăugați și să scădeți date.

În acest tutorial, ne vom concentra pe calcularea diferenței de date în Excel și veți învăța diferite moduri de a număra numărul de zile, săptămâni, luni și ani dintre două date.

    Găsiți cu ușurință diferența dintre două date în Excel

    Obțineți rezultatul sub forma unei formule gata făcute în ani, luni, săptămâni sau zile

    Citește mai mult

    Adăugați și scădeți date cu câteva clicuri

    Delegați data & & construirea formulelor de timp la un expert

    Citește mai mult

    Calculați vârsta în Excel din mers

    Și obțineți o formulă personalizată

    Citește mai mult

    Funcția Excel DATEDIF - obțineți diferența de dată

    După cum sugerează și numele său, funcția DATEDIF este destinată calculării diferenței dintre două date.

    DATEDIF este una dintre foarte puținele funcții nedocumentate din Excel și, deoarece este "ascunsă", nu o veți găsi pe pagina Formula tab, și nici nu veți primi vreun indiciu cu privire la argumentele pe care trebuie să le introduceți atunci când începeți să tastați numele funcției în bara de formule. De aceea, este important să cunoașteți sintaxa completă a Excel DATEDIF pentru a o putea utiliza în formulele dumneavoastră.

    Funcția Excel DATEDIF - sintaxă

    Sintaxa funcției Excel DATEDIF este următoarea:

    DATEDIF(start_date, end_date, unit)

    Toate cele trei argumente sunt necesare:

    Data_începutului - data inițială a perioadei pe care doriți să o calculați.

    End_date - data de încheiere a perioadei.

    Unitatea - unitatea de timp care trebuie utilizată la calcularea diferenței dintre două date. Furnizând unități diferite, puteți face ca funcția DATEDIF să returneze diferența de dată în zile, luni sau ani. În total, sunt disponibile 6 unități, care sunt descrise în tabelul următor.

    Unitatea Adică Explicație
    Y Ani Numărul de ani compleți între datele de început și de sfârșit.
    M Luni Numărul de luni complete dintre date.
    D Zile Numărul de zile dintre data de început și data de sfârșit.
    MD Zile, cu excepția anilor și lunilor Diferența de dată în zile, fără a lua în considerare lunile și anii.
    YD Zile, cu excepția anilor Diferența de dată în zile, fără a lua în considerare anii.
    YM Luni, cu excepția zilelor și anilor Diferența de dată în luni, fără a lua în considerare zilele și anii.

    Formula Excel DATEDIF

    Pentru a obține diferența dintre două date în Excel, sarcina principală este de a furniza datele de început și de sfârșit funcției DATEDIF. Acest lucru se poate face în diferite moduri, cu condiția ca Excel să poată înțelege și interpreta corect datele furnizate.

    Referințe de celule

    Cel mai simplu mod de a realiza o formulă DATEDIF în Excel este să introduceți două date valide în celule separate și să faceți referire la aceste celule. De exemplu, următoarea formulă numără numărul de zile dintre datele din celulele A1 și B1:

    =DATEDIF(A1, B1, "d")

    Șiruri de texte

    Excel înțelege datele în mai multe formate de text, cum ar fi "1-Ian-2023", "1/1/2023", "1 ianuarie 2023" etc. Datele sub formă de șiruri de text între ghilimele pot fi tastate direct în argumentele unei formule. De exemplu, iată cum puteți calcula numărul de luni dintre datele specificate:

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

    Numere de serie

    Deoarece Microsoft Excel stochează fiecare dată ca un număr de serie începând cu 1 ianuarie 1900, utilizați numere corespunzătoare datelor. Deși este acceptată, această metodă nu este fiabilă deoarece numerotarea datelor variază în diferite sisteme informatice. În sistemul de date 1900, puteți utiliza formula de mai jos pentru a afla numărul de ani dintre două date, 1 ian-2023 și 31 dec-2025:

    =DATEDIF(44927, 46022, "y")

    Rezultatele altor funcții

    Pentru a afla câte zile sunt între ziua de azi și 20 mai 2025, utilizați următoarea formulă.

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

    Notă: În formulele dumneavoastră, data finală trebuie să fie întotdeauna mai mare decât data de început, altfel funcția Excel DATEDIF returnează eroarea #NUM!

    Sperăm că informațiile de mai sus au fost utile pentru a înțelege elementele de bază. Și acum, să vedem cum puteți utiliza funcția Excel DATEDIF pentru a compara datele din foile de calcul și a returna diferența.

    Cum se obține numărul de zile dintre două date în Excel

    Dacă ați observat cu atenție argumentele lui DATEDIF, ați observat că există 3 unități diferite pentru numărarea zilelor dintre date. Care dintre ele să fie folosită depinde de nevoile dvs. exacte.

    Exemplul 1. Formula Excel DATEDIF pentru a calcula diferența de dată în zile

    Să presupunem că aveți data de început în celula A2 și data de sfârșit în celula B2 și doriți ca Excel să returneze diferența de dată în zile. O simplă formulă DATEDIF funcționează foarte bine:

    =DATEDIF(A2, B2, "d")

    Cu condiția ca o valoare din argumentul start_date să fie mai mică decât în end_date. În cazul în care data de început este mai mare decât data de sfârșit, funcția Excel DATEDIF returnează eroarea #NUM, ca în rândul 5:

    Dacă sunteți în căutarea unei formule care poate returna diferența de date în zile, fie ca număr pozitiv, fie ca număr negativ, pur și simplu scădeți o dată direct din cealaltă:

    =B2-A2

    Pentru detalii complete și mai multe exemple de formule, consultați Cum se scad datele în Excel.

    Exemplul 2. Numărați zilele în Excel ignorând anii

    Să presupunem că aveți două liste de date care aparțin unor ani diferiți și doriți să calculați numărul de zile dintre date ca și cum acestea ar fi din același an. Pentru a face acest lucru, utilizați o formulă DATEDIF cu unitatea "YD":

    =DATEDIF(A2, B2, "yd")

    Dacă doriți ca funcția Excel DATEDIF să ignore nu numai anii, ci și lunile, atunci folosiți unitatea "md". În acest caz, formula dvs. va calcula zilele dintre două date ca și cum ar fi din aceeași lună și același an:

    =DATEDIF(A2, B2, "md")

    Captura de ecran de mai jos demonstrează rezultatele, iar compararea acesteia cu cea de mai sus poate ajuta la o mai bună înțelegere a diferenței.

    Sfat. Pentru a obține numărul de zile lucrătoare între două date, utilizați funcția NETWORKDAYS sau NETWORKDAYS.INTL.

    Cum se calculează diferența de dată în săptămâni

    După cum probabil ați observat, funcția Excel DATEDIF nu are o unitate specială pentru a calcula diferența de dată în săptămâni. Cu toate acestea, există o soluție simplă.

    Pentru a afla câte săptămâni există între două date, puteți utiliza funcția DATEDIF cu unitatea "D" pentru a returna diferența în zile și apoi împărțiți rezultatul la 7.

    Pentru a obține numărul de săptămâni întregi între date, includeți formula DATEDIF în funcția ROUNDDOWN, care rotunjește întotdeauna numărul spre zero:

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

    Unde A2 este data de început și B2 este data de sfârșit a perioadei pe care o calculați.

    Cum se calculează numărul de luni dintre două date în Excel

    În mod similar cu numărarea zilelor, funcția Excel DATEDIF poate calcula numărul de luni dintre două date pe care le specificați. În funcție de unitatea pe care o furnizați, formula va produce rezultate diferite.

    Exemplul 1. Calculați lunile complete dintre două date (DATEDIF)

    Pentru a număra numărul de luni întregi dintre date, se utilizează funcția DATEDIF cu unitatea "M". De exemplu, următoarea formulă compară datele din A2 (data de început) și B2 (data de sfârșit) și returnează diferența în luni:

    =DATEDIF(A2, B2, "m")

    Notă: Pentru ca formula DATEDIF să calculeze corect lunile, data finală trebuie să fie întotdeauna mai mare decât data inițială; în caz contrar, formula returnează eroarea #NUM.

    Pentru a evita astfel de erori, puteți forța Excel să perceapă întotdeauna o dată mai veche ca dată de început și o dată mai recentă ca dată de sfârșit. Pentru a face acest lucru, adăugați un test logic simplu:

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

    Exemplul 2. Obțineți numărul de luni dintre două date ignorând anii (DATEDIF)

    Pentru a număra numărul de luni dintre date ca și cum acestea ar fi din același an, introduceți "YM" în argumentul unitate:

    =DATEDIF(A2, B2, "ym")

    După cum vedeți, această formulă returnează, de asemenea, o eroare în rândul 6, unde data de sfârșit este mai mică decât data de început. Dacă setul dvs. de date poate conține astfel de date, veți găsi soluția în următoarele exemple.

    Exemplul 3. Calcularea lunilor dintre două date (funcția MONTH)

    O modalitate alternativă de a calcula numărul de luni dintre două date în Excel este utilizarea funcției LUNĂ sau, mai exact, o combinație a funcțiilor LUNĂ și AN:

    =(AN(B2) - AN(A2))*12 + LUNĂ(B2) - LUNĂ(A2)

    Desigur, această formulă nu este atât de transparentă ca DATEDIF și este nevoie de timp pentru a înțelege logica. Dar, spre deosebire de funcția DATEDIF, aceasta poate compara două date și poate returna diferența în luni ca o valoare pozitivă sau negativă:

    Observați că formula YEAR/MONTH nu are nicio problemă cu calcularea lunilor din rândul 6 în care data de început este mai recentă decât data de sfârșit, scenariu în care o formulă DATEDIF analogă eșuează.

    Notă. Rezultatele returnate de formulele DATEDIF și YEAR/MONTH nu sunt întotdeauna identice, deoarece acestea funcționează pe baza unor principii diferite. Funcția Excel DATEDIF returnează numărul de luni calendaristice complete între date, în timp ce formula YEAR/MONTH operează cu numerele lunilor.

    De exemplu, în rândul 7 din captura de ecran de mai sus, formula DATEDIF returnează 0, deoarece nu a trecut încă o lună calendaristică completă între date, în timp ce YEAR/MONTH returnează 1, deoarece datele aparțin unor luni diferite.

    Exemplul 4. Numărarea lunilor între 2 date ignorând anii (funcția MONTH)

    În cazul în care toate datele dvs. sunt din același an sau doriți să calculați lunile dintre datele care ignoră anii, puteți utiliza funcția MONTH pentru a prelua luna din fiecare dată și apoi să scădeți o lună din cealaltă:

    =LUNA(B2) - LUNA(A2)

    Această formulă funcționează în mod similar cu Excel DATEDIF cu unitatea "YM", după cum se demonstrează în următoarea captură de ecran:

    Cu toate acestea, rezultatele returnate de cele două formule diferă cu câteva rânduri:

    • Rândul 4: data de sfârșit este mai mică decât data de început și, prin urmare, DATEDIF returnează o eroare, în timp ce MONTH-MONTH produce o valoare negativă.
    • Rândul 6: datele sunt din luni diferite, dar diferența reală de dată este de doar o zi. DATEDIF returnează 0, deoarece calculează luni întregi între 2 date. MONTH-MONTH returnează 1, deoarece scade numerele lunilor una de cealaltă, ignorând zilele și anii.

    Cum se calculează anii dintre două date în Excel

    Dacă ați urmărit exemplele anterioare în care am calculat lunile și zilele dintre două date, atunci puteți obține cu ușurință o formulă pentru a calcula anii în Excel. Următoarele exemple vă pot ajuta să verificați dacă ați obținut formula corectă :)

    Exemplul 1. Calcularea anilor compleți între două date (funcția DATEDIF)

    Pentru a afla numărul de ani calendaristici compleți dintre două date, utilizați vechiul DATEDIF cu unitatea "Y":

    =DATEDIF(A2,B2, "y")

    Observați că formula DATEDIF returnează 0 în rândul 6, deși datele sunt din ani diferiți. Acest lucru se datorează faptului că numărul de ani calendaristici între datele de început și de sfârșit este egal cu zero. Și cred că nu sunteți surprins să vedeți eroarea #NUM! în rândul 7, unde data de început este mai recentă decât data de sfârșit.

    Exemplul 2. Calcularea anilor dintre două date (funcția YEAR)

    O modalitate alternativă de a calcula anii în Excel este utilizarea funcției YEAR. În mod similar cu formula MONTH, extrageți anul din fiecare dată și apoi scădeți anii unul de celălalt:

    =AN(B2) - AN(A2)

    În următoarea captură de ecran, puteți compara rezultatele returnate de funcțiile DATEDIF și YEAR:

    În majoritatea cazurilor, rezultatele sunt identice, cu excepția faptului că:

    • Funcția DATEDIF calculează ani calendaristici compleți, în timp ce formula YEAR se limitează la a scădea un an din celălalt. Rândul 6 ilustrează diferența.
    • Formula DATEDIF returnează o eroare dacă data de început este mai mare decât data de sfârșit, în timp ce funcția YEAR returnează o valoare negativă, ca în rândul 7.

    Cum să obțineți diferența de dată în zile, luni și ani

    Pentru a număra numărul de ani, luni și zile între două date într-o singură formulă, este suficient să concatenați trei funcții DATEDIF:

    =DATEDIF(A2, B2, "y") &" ani, "&DATEDIF(A2, B2, "ym") &" luni, " &DATEDIF(A2, B2, "md") &" zile"

    Dacă preferați să nu afișați valori zero, puteți include fiecare DATEDIF în funcția IF, după cum urmează:

    =IF(DATEDIF(A2,B2, "y")=0, "", DATEDIF(A2,B2, "y") & " ani ") & IF(DATEDIF(A2,B2, "ym")=0,"", DATEDIF(A2,B2, "ym") & " luni ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " zile"

    Formula afișează numai elementele care nu sunt egale cu zero, după cum se arată în următoarea captură de ecran:

    Pentru alte modalități de a obține diferența de dată în zile, consultați Cum se calculează zilele de la sau până la data în Excel.

    Formulele DATEDIF pentru a calcula vârsta în Excel

    De fapt, calcularea vârstei cuiva pe baza datei de naștere este un caz special de calcul al diferenței de date în Excel, unde data finală este data de astăzi. Deci, utilizați o formulă DATEDIF obișnuită cu unitatea "Y" care returnează numărul de ani dintre date și introduceți funcția TODAY() în argumentul end_date:

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

    Unde A2 este data nașterii.

    Formula de mai sus calculează numărul de ani compleți. Dacă preferați să obțineți vârsta exactă, inclusiv anii, lunile și zilele, atunci concatenați trei funcții DATEDIF, așa cum am făcut în exemplul anterior:

    =DATEDIF(B2,TODAY(), "y") & " Years, " & DATEDIF(B2,TODAY(), "ym") & " Months, " & DATEDIF(B2,TODAY(), "md") & " Days"

    Și veți obține următorul rezultat:

    Pentru a afla alte metode de conversie a datei de naștere în vârstă, consultați Cum se calculează vârsta din data nașterii.

    Date & Time Wizard - modalitate ușoară de a construi formule de diferență de dată în Excel

    După cum s-a demonstrat în prima parte a acestui tutorial, Excel DATEDIF este o funcție destul de versatilă, potrivită pentru o varietate de utilizări diferite. Cu toate acestea, există un dezavantaj semnificativ - este nedocumentată de Microsoft, ceea ce înseamnă că nu veți găsi DATEDIF în lista de funcții și nici nu veți vedea vreun tooltip cu argumente atunci când începeți să tastați o formulă într-o celulă. Pentru a putea utiliza funcția DATEDIF întrebuie să vă amintiți sintaxa acestuia și să introduceți manual toate argumentele, ceea ce poate fi o metodă care necesită mult timp și este predispusă la erori, în special pentru începători.

    Ultimate Suite for Excel schimbă radical acest lucru, deoarece acum oferă Data & Expertul de timp care poate face aproape orice formulă de diferență de date în cel mai scurt timp. Iată cum:

    1. Selectați celula în care doriți să inserați formula.
    2. Mergeți la Instrumente Ablebits tab> Data & Ora și faceți clic pe butonul Data & Expertul de timp buton:

  • The Data & Expertul de timp apare, treceți la fereastra de dialog Diferență și furnizați date pentru argumentele formulei:
    • Faceți clic în fereastra Data 1 (sau faceți clic pe caseta Colapsarea dialogului din dreapta căsuței) și selectați o celulă care conține prima dată.
    • Faceți clic în fereastra Data 2 și selectați o celulă cu a doua dată.
    • Selectați unitatea sau combinația de unități dorită din lista Diferența în Pe măsură ce faceți acest lucru, asistentul vă permite să previzualizați rezultatul din caseta și formula din celulă.
    • Dacă sunteți mulțumit de previzualizare, faceți clic pe butonul Introduceți formula în caz contrar, încercați alte unități.

    De exemplu, iată cum se poate obține valoarea numărul de zile între două date în Excel:

    Odată ce formula este inserată în celula selectată, o puteți copia în alte celule, ca de obicei, făcând dublu clic sau trăgând mânerul de umplere. Rezultatul va arăta similar cu acesta:

    Pentru a prezenta rezultatele în cel mai potrivit mod, sunt disponibile câteva opțiuni suplimentare:

    • Excludeți anii și/sau exclude luni din calcule.
    • Afișează sau nu afișează etichete de text ca zile , luni , săptămâni , și ani .
    • Afișează sau nu afișează zero unități .
    • Returnează rezultatele ca valori negative dacă Data 1 (data de început) este mai mare decât Data 2 (data de sfârșit).

    Ca exemplu, să obținem diferența dintre două date în ani, luni, săptămâni și zile, ignorând unitățile zero:

    Beneficiile utilizării Data & Expertul de formule de timp

    În afară de viteză și simplitate, Date & Time Wizard oferă alte câteva avantaje:

    • Spre deosebire de o formulă DATEDIF obișnuită, o formulă avansată creată de expertul nu are grijă care dintre cele două date este mai mică și care este mai mare. Diferența este întotdeauna calculată perfect, chiar dacă Data 1 (data de început) este mai mare decât Data 2 (data de sfârșit).
    • Expertul acceptă toate unitățile posibile (zile, săptămâni, luni și ani) și vă permite să alegeți din 11 combinații diferite ale acestor unități.
    • Formulele pe care expertul le construiește pentru dvs. sunt formule Excel normale, astfel încât sunteți liber să le editați, să le copiați sau să le mutați ca de obicei. De asemenea, puteți partaja foile de lucru cu alte persoane, iar toate formulele vor rămâne la locul lor, chiar dacă cineva nu are Ultimate Suite în Excel.

    În acest fel se calculează diferența dintre două date în diferite intervale de timp. Sperăm că funcția DATEDIF și alte formule pe care le-ați învățat astăzi se vor dovedi utile în activitatea dumneavoastră.

    Descărcări disponibile

    Ultimate Suite 14-day full-functional version (fișier .exe)

    Michael Brown este un pasionat de tehnologie dedicat, cu o pasiune pentru simplificarea proceselor complexe folosind instrumente software. Cu mai mult de un deceniu de experiență în industria tehnologiei, el și-a perfecționat abilitățile în Microsoft Excel și Outlook, precum și în Google Sheets și Docs. Blogul lui Michael este dedicat împărtășirii cunoștințelor și experienței sale cu alții, oferind sfaturi și tutoriale ușor de urmat pentru îmbunătățirea productivității și eficienței. Indiferent dacă sunteți un profesionist experimentat sau un începător, blogul lui Michael oferă informații valoroase și sfaturi practice pentru a profita la maximum de aceste instrumente software esențiale.