"Excel" funkcija DATEDIF dviejų datų skirtumui gauti

  • Pasidalinti
Michael Brown

Šioje pamokoje rasite paprastą "Excel" funkcijos DATEDIF paaiškinimą ir keletą formulės pavyzdžių, kuriuose parodoma, kaip palyginti datas ir apskaičiuoti skirtumą dienomis, savaitėmis, mėnesiais ar metais.

Per pastarąsias kelias savaites išnagrinėjome beveik visus darbo su datomis ir laikais "Excel" programoje aspektus. Jei sekėte mūsų tinklaraščio seriją, jau žinote, kaip įterpti ir formatuoti datas darbalapiuose, kaip apskaičiuoti savaitės dienas, savaites, mėnesius ir metus, taip pat pridėti ir atimti datas.

Šioje pamokoje daugiausia dėmesio skirsime datų skirtumo skaičiavimui "Excel" programoje ir sužinosite įvairių būdų, kaip suskaičiuoti dienų, savaičių, mėnesių ir metų skaičių tarp dviejų datų.

    Lengvai raskite skirtumą tarp dviejų datų "Excel" programoje

    Gaukite rezultatą kaip paruoštą formulę metais, mėnesiais, savaitėmis arba dienomis

    Skaityti daugiau

    Įtraukti ir atimti datas keliais spustelėjimais

    Perduokite datos & amp; laiko formulių kūrimą ekspertui

    Skaityti daugiau

    Amžiaus skaičiavimas "Excel" programoje

    Ir gaukite individualiai pritaikytą formulę

    Skaityti daugiau

    "Excel" funkcija DATEDIF - datos skirtumo gavimas

    Kaip matyti iš pavadinimo, funkcija DATEDIF skirta dviejų datų skirtumui apskaičiuoti.

    DATEDIF yra viena iš nedaugelio nedokumentuotų "Excel" funkcijų, o kadangi ji yra "paslėpta", jos nerasite Formulė skirtuke, taip pat negausite jokios užuominos, kokius argumentus įvesti, kai formulės juostoje pradėsite rašyti funkcijos pavadinimą. Todėl svarbu žinoti visą "Excel" DATEDIF sintaksę, kad galėtumėte ją naudoti formulėse.

    "Excel" funkcija DATEDIF - sintaksė

    "Excel" funkcijos DATEDIF sintaksė yra tokia:

    DATEDIF(pradžios_data, pabaigos_data, vienetas)

    Reikia pateikti visus tris argumentus:

    Start_date - pradinę laikotarpio, kurį norite apskaičiuoti, datą.

    End_date - laikotarpio pabaigos data.

    Vienetas - laiko vienetą, kurį reikia naudoti apskaičiuojant dviejų datų skirtumą. Įvedę skirtingus vienetus, galite priversti funkciją DATEDIF grąžinti datų skirtumą dienomis, mėnesiais arba metais. Iš viso galimi 6 vienetai, kurie aprašyti toliau pateiktoje lentelėje.

    Vienetas Reikšmė Paaiškinimas
    Y Metai Pilnų metų skaičius tarp pradžios ir pabaigos datų.
    M Mėnesiai Pilnų mėnesių skaičius tarp datų.
    D Dienos Dienų skaičius tarp pradžios ir pabaigos datos.
    MD Dienos be metų ir mėnesių Datos skirtumas dienomis, neatsižvelgiant į mėnesius ir metus.
    YD Dienos be metų Datos skirtumas dienomis, neatsižvelgiant į metus.
    YM Mėnesiai, išskyrus dienas ir metus Datų skirtumas mėnesiais, neatsižvelgiant į dienas ir metus.

    "Excel" DATEDIF formulė

    Norint "Excel" programoje gauti dviejų datų skirtumą, svarbiausia funkcijai DATEDIF pateikti pradžios ir pabaigos datas. Tai galima padaryti įvairiais būdais, jei "Excel" supranta ir teisingai interpretuoja pateiktas datas.

    Ląstelių nuorodos

    Paprasčiausias būdas "Excel" sukurti formulę DATEDIF - įvesti dvi galiojančias datas į atskirus langelius ir daryti nuorodas į tuos langelius. Pavyzdžiui, toliau pateiktoje formulėje skaičiuojamas dienų skaičius tarp datų langeliuose A1 ir B1:

    =DATEDIF(A1, B1, "d")

    Teksto eilutės

    "Excel" supranta datas įvairiais tekstiniais formatais, pavyzdžiui, "1-Jan-2023", "1/1/2023", "2023 m. sausio 1 d." ir t. t. Datas kaip teksto eilutes, uždarytas kabutėse, galima įvesti tiesiai į formulės argumentus. Pavyzdžiui, taip galima apskaičiuoti mėnesių skaičių tarp nurodytų datų:

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

    Serijiniai numeriai

    Kadangi "Microsoft Excel" kiekvieną datą saugo kaip eilės numerį, prasidedantį 1900 m. sausio 1 d., naudojate datas atitinkančius skaičius. Nors šis metodas ir palaikomas, jis nėra patikimas, nes skirtingose kompiuterių sistemose datų numeracija skiriasi. 1900 m. datų sistemoje, norėdami rasti metų skaičių tarp dviejų datų - 2023 m. sausio 1 d. ir 2025 m. gruodžio 31 d. - galite naudoti toliau pateiktą formulę:

    =DATEDIF(44927, 46022, "y")

    Kitų funkcijų rezultatai

    Norėdami sužinoti, kiek dienų yra nuo šiandien iki 2025 m. gegužės 20 d., naudokite šią formulę.

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

    Pastaba: formulėse pabaigos data visada turi būti didesnė už pradžios datą, kitaip "Excel" funkcija DATEDIF grąžins #NUM! klaidą.

    Tikimės, kad pirmiau pateikta informacija padėjo suprasti pagrindinius principus. O dabar pažiūrėkime, kaip galite naudoti "Excel" funkciją DATEDIF, kad palygintumėte datas darbalapiuose ir grąžintumėte skirtumą.

    Kaip gauti dienų skaičių tarp dviejų datų programoje "Excel

    Jei atidžiai stebėjote DATEDIF argumentus, pastebėjote, kad yra 3 skirtingi dienų tarp datų skaičiavimo vienetai. Kurį iš jų naudoti, priklauso nuo jūsų poreikių.

    1 pavyzdys. "Excel" DATEDIF formulė, skirta apskaičiuoti datos skirtumą dienomis

    Tarkime, kad pradžios data yra ląstelėje A2, o pabaigos data - ląstelėje B2 ir norite, kad "Excel" grąžintų datos skirtumą dienomis. Paprasta DATEDIF formulė veikia puikiai:

    =DATEDIF(A2, B2, "d")

    Su sąlyga, kad argumento start_date reikšmė yra mažesnė už argumento end_date reikšmę. Jei pradžios data yra didesnė už pabaigos datą, "Excel" funkcija DATEDIF grąžina klaidą #NUM, kaip nurodyta 5 eilutėje:

    Jei ieškote formulės, pagal kurią datų skirtumas dienomis būtų išreikštas teigiamu arba neigiamu skaičiumi, tiesiog atimkite vieną datą iš kitos:

    =B2-A2

    Išsamią informaciją ir daugiau formulių pavyzdžių rasite straipsnyje Kaip atimti datas "Excel" programoje.

    2 pavyzdys. "Excel" skaičiuoja dienas ignoruodama metus

    Tarkime, turite du datų, priklausančių skirtingiems metams, sąrašus ir norite apskaičiuoti dienų skaičių tarp datų, tarsi jos būtų tų pačių metų. Norėdami tai padaryti, naudokite DATEDIF formulę su vienetu "YD":

    =DATEDIF(A2, B2, "yd")

    Jei norite, kad "Excel" funkcija DATEDIF neatsižvelgtų ne tik į metus, bet ir į mėnesius, naudokite vienetą "md". Tokiu atveju jūsų formulė apskaičiuos dienas tarp dviejų datų, tarsi jos būtų to paties mėnesio ir tų pačių metų:

    =DATEDIF(A2, B2, "md")

    Toliau pateiktoje ekrano nuotraukoje matyti rezultatai, o palyginus ją su pirmiau pateikta ekrano nuotrauka galima geriau suprasti skirtumą.

    Patarimas. Norėdami sužinoti darbo dienos tarp dviejų datų, naudokite funkciją NETWORKDAYS arba NETWORKDAYS.INTL.

    Kaip apskaičiuoti datos skirtumą savaitėmis

    Kaip tikriausiai pastebėjote, "Excel" funkcija DATEDIF neturi specialaus vieneto, kuris leistų apskaičiuoti datos skirtumą savaitėmis. Tačiau tai galima lengvai apeiti.

    Norėdami sužinoti, kiek savaičių yra tarp dviejų datų, galite naudoti funkciją DATEDIF su vienetu "D", kad grąžintumėte dienų skirtumą, o tada padalykite rezultatą iš 7.

    Norėdami gauti skaičių visos savaitės tarp datų, DATEDIF formulę papildykite funkcija ROUNDDOWN, kuri visada suapvalina skaičių iki nulio:

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

    Kai A2 yra skaičiuojamo laikotarpio pradžios data, o B2 - pabaigos data.

    Kaip apskaičiuoti mėnesių skaičių tarp dviejų datų programoje "Excel

    Panašiai kaip skaičiuojant dienas, "Excel" funkcija DATEDIF gali apskaičiuoti mėnesių skaičių tarp dviejų nurodytų datų. Priklausomai nuo nurodyto vieneto, formulė duos skirtingus rezultatus.

    1 pavyzdys. Apskaičiuokite visus mėnesius tarp dviejų datų (DATEDIF)

    Norėdami suskaičiuoti, kiek mėnesių yra tarp datų, naudokite funkciją DATEDIF su vienetu "M". Pavyzdžiui, toliau pateiktoje formulėje palyginamos datos A2 (pradžios data) ir B2 (pabaigos data) ir grąžinamas mėnesių skirtumas:

    =DATEDIF(A2, B2, "m")

    Pastaba. Kad formulė DATEDIF teisingai apskaičiuotų mėnesius, pabaigos data visada turi būti didesnė už pradžios datą; priešingu atveju formulė grąžina #NUM klaidą.

    Kad išvengtumėte tokių klaidų, galite priversti "Excel" visada laikyti senesnę datą pradžios data, o naujesnę - pabaigos data. Norėdami tai padaryti, pridėkite paprastą loginį testą:

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

    2 pavyzdys. Mėnesių skaičiaus tarp dviejų datų, ignoruojančių metus, gavimas (DATEDIF)

    Jei norite skaičiuoti mėnesius tarp datų, tarsi jos būtų tų pačių metų, vieneto argumente įrašykite "YM":

    =DATEDIF(A2, B2, "ym")

    Kaip matote, ši formulė taip pat grąžina klaidą 6 eilutėje, kurioje pabaigos data yra mažesnė už pradžios datą. Jei jūsų duomenų rinkinyje gali būti tokių datų, sprendimą rasite kituose pavyzdžiuose.

    3 pavyzdys. Mėnesių tarp dviejų datų skaičiavimas (funkcija MONTH)

    Alternatyvus būdas apskaičiuoti mėnesių skaičių tarp dviejų datų "Excel" programoje - naudoti funkciją MĖNESIS, tiksliau - funkcijų MĖNESIS ir METAI derinį:

    =(METAI(B2) - METAI(A2))*12 + MĖNUO(B2) - MĖNUO(A2)

    Žinoma, ši formulė nėra tokia skaidri kaip DATEDIF, todėl prireiks laiko logikai suprasti. Tačiau, kitaip nei funkcija DATEDIF, ja galima palyginti bet kurias dvi datas ir grąžinti mėnesių skirtumą kaip teigiamą arba neigiamą reikšmę:

    Atkreipkite dėmesį, kad formulė YEAR/MONTH nesukelia problemų apskaičiuojant 6 eilutės mėnesius, kai pradžios data yra vėlesnė nei pabaigos data, t. y. scenarijus, kai analogiška DATEDIF formulė neveikia.

    Pastaba. DATEDIF ir YEAR/MONTH formulių rezultatai ne visada yra vienodi, nes jos veikia skirtingais principais. visi kalendoriniai mėnesiai tarp datų, o formulė YEAR/MONTH veikia pagal mėnesių skaičius.

    Pavyzdžiui, pirmiau pateiktoje ekrano kopijos 7 eilutėje formulė DATEDIF grąžina 0, nes tarp datų dar nepraėjo visas kalendorinis mėnuo, o formulė YEAR/MONTH grąžina 1, nes datos priklauso skirtingiems mėnesiams.

    4 pavyzdys. Mėnesių skaičiavimas tarp 2 datų ignoruojant metus (funkcija MONTH)

    Jei visos jūsų datos yra tų pačių metų arba norite apskaičiuoti mėnesius tarp datų, ignoruojančių metus, galite naudoti funkciją MONTH, kad iš kiekvienos datos gautumėte mėnesį ir atimtumėte vieną mėnesį iš kito:

    =MĖNUO(B2) - MĖNUO(A2)

    Ši formulė veikia panašiai kaip "Excel" DATEDIF su "YM" vienetu, kaip parodyta toliau pateiktoje ekrano nuotraukoje:

    Tačiau dviejų formulių rezultatai skiriasi keliomis eilutėmis:

    • 4 eilutė: pabaigos data yra mažesnė už pradžios datą, todėl DATEDIF grąžina klaidą, o MONTH-MONTH duoda neigiamą reikšmę.
    • 6 eilutė: datos yra skirtingų mėnesių, tačiau faktinis datų skirtumas yra tik viena diena. DATEDIF grąžina 0, nes skaičiuoja ištisus mėnesius tarp 2 datų. MONTH-MONTH grąžina 1, nes atimami mėnesių skaičiai, neatsižvelgiant į dienas ir metus.

    Kaip apskaičiuoti metus tarp dviejų datų programoje "Excel

    Jei vadovavotės ankstesniais pavyzdžiais, kuriuose skaičiavome mėnesius ir dienas tarp dviejų datų, galite nesunkiai išvesti formulę metams apskaičiuoti "Excel" programoje. Toliau pateikti pavyzdžiai padės patikrinti, ar teisingai supratote formulę :)

    1 pavyzdys. Pilnų metų tarp dviejų datų skaičiavimas (funkcija DATEDIF)

    Norėdami sužinoti, kiek kalendorinių metų yra tarp dviejų datų, naudokite seną gerą DATEDIF su "Y" vienetu:

    =DATEDIF(A2,B2, "y")

    Atkreipkite dėmesį, kad 6 eilutėje formulė DATEDIF grąžina 0, nors datos yra skirtingų metų. Taip yra dėl to, kad tarp pradžios ir pabaigos datų esančių pilnų kalendorinių metų skaičius yra lygus nuliui. Ir manau, kad jūsų nenustebins #NUM! klaida 7 eilutėje, kurioje pradžios data yra naujesnė už pabaigos datą.

    2 pavyzdys. Metų tarp dviejų datų skaičiavimas (funkcija YEAR)

    Alternatyvus būdas apskaičiuoti metus "Excel" programoje - naudoti funkciją YEAR (metai). Panašiai kaip ir naudojant formulę MONTH (mėnuo), iš kiekvienos datos išgaunate metus, o tada atimate metus vienus iš kitų:

    =METAI(B2) - METAI(A2)

    Toliau pateiktoje ekrano kopijoje galite palyginti DATEDIF ir YEAR funkcijų gautus rezultatus:

    Daugeliu atvejų rezultatai yra identiški, išskyrus tai, kad:

    • Funkcija DATEDIF apskaičiuoja visus kalendorinius metus, o formulė YEAR paprasčiausiai išskaičiuoja vienus metus iš kitų. 6 eilutėje parodytas skirtumas.
    • DATEDIF formulė grąžina klaidą, jei pradžios data yra didesnė už pabaigos datą, o funkcija YEAR grąžina neigiamą reikšmę, kaip 7 eilutėje.

    Kaip gauti datos skirtumą dienomis, mėnesiais ir metais

    Norėdami vienoje formulėje suskaičiuoti, kiek metų, mėnesių ir dienų yra tarp dviejų datų, paprasčiausiai sutraukite tris DATEDIF funkcijas:

    =DATEDIF(A2, B2, "y") &" metai, "&DATEDIF(A2, B2, "ym") &" mėnesiai, " &DATEDIF(A2, B2, "md") &" dienos"

    Jei nenorėtumėte rodyti nulinių reikšmių, kiekvieną DATEDIF galite įtraukti į IF funkciją taip:

    =IF(DATEDIF(A2,B2, "y")=0, "", DATEDIF(A2,B2, "y") & " metai ") & IF(DATEDIF(A2,B2, "ym")=0, "", DATEDIF(A2,B2, "ym") & " mėnesiai ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " dienos"

    Formulėje rodomi tik nenuliniai elementai, kaip parodyta toliau pateiktoje ekrano nuotraukoje:

    Kitų būdų, kaip gauti datos skirtumą dienomis, rasite straipsnyje Kaip apskaičiuoti dienas nuo arba iki datos programoje "Excel".

    DATEDIF formulės amžiui apskaičiuoti programoje "Excel

    Iš tikrųjų, apskaičiuoti kieno nors amžių pagal gimimo datą yra specialus datų skirtumo skaičiavimo "Excel" programoje atvejis, kai pabaigos data yra šiandienos data. Taigi, naudojate įprastą DATEDIF formulę su "Y" vienetu, kuris grąžina metų skaičių tarp datų, o į end_date argumentą įveskite funkciją TODAY():

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

    Kai A2 yra gimimo data.

    Pirmiau pateiktoje formulėje apskaičiuojamas pilnas metų skaičius. Jei norite gauti tikslų amžių, įskaitant metus, mėnesius ir dienas, tada sujunkite tris DATEDIF funkcijas, kaip tai padarėme ankstesniame pavyzdyje:

    =DATEDIF(B2,TODAY(), "y") & " Metai, " & DATEDIF(B2,TODAY(), "ym") & " Mėnesiai, " & DATEDIF(B2,TODAY(), "md") & " Dienos"

    Gausite tokį rezultatą:

    Norėdami sužinoti kitų gimimo datos konvertavimo į amžių metodų, skaitykite straipsnį Kaip apskaičiuoti amžių pagal gimimo datą.

    "Date & amp; Time Wizard" - paprastas būdas kurti datų skirtumo formules "Excel" programoje

    Kaip parodyta pirmoje šios pamokos dalyje, "Excel" funkcija DATEDIF yra gana universali funkcija, tinkama įvairiems tikslams. Tačiau yra vienas svarbus trūkumas - "Microsoft" jos nedokumentuoja, t. y. "DATEDIF" nerasite funkcijų sąraše, o pradėję rašyti formulę ląstelėje nematysite jokių argumentų užrašų. Kad galėtumėte naudoti funkciją DATEDIFdarbalapius, turite prisiminti jo sintaksę ir įvesti visus argumentus rankiniu būdu, o tai gali būti daug laiko ir klaidų reikalaujantis būdas, ypač pradedantiesiems.

    "Ultimate Suite for Excel" tai iš esmės keičia, nes dabar suteikia Data & amp; Laiko vedlys kuri gali akimirksniu pakeisti beveik bet kurios datos skirtumo formulę. Štai kaip:

    1. Pasirinkite ląstelę, į kurią norite įterpti formulę.
    2. Eikite į "Ablebits" įrankiai skirtukas> Data & amp; laikas grupę ir spustelėkite Data & amp; Laiko vedlys mygtuką:

  • Svetainė Data & amp; Laiko vedlys rodomas dialogo langas, perjungiamas į Skirtumas skirtuką ir pateikite formulės argumentų duomenis:
    • Spustelėkite Data 1 langelį (arba spustelėkite Dialogas "Žlugti mygtuką, esantį dešinėje langelio pusėje) ir pasirinkite langelį, kuriame yra pirmoji data.
    • Spustelėkite Data 2 langelį ir pasirinkite langelį su antrąja data.
    • Pasirinkite norimą vienetą arba vienetų derinį iš Skirtumas Atlikdami šį veiksmą, vedlys leidžia peržiūrėti rezultatą langelyje ir formulę ląstelėje.
    • Jei esate patenkinti peržiūra, spustelėkite Įterpkite formulę mygtuką, kitu atveju bandykite naudoti kitus vienetus.

    Pavyzdžiui, taip galite gauti dienų skaičius tarp dviejų datų "Excel" programoje:

    Įterpę formulę į pasirinktą ląstelę, galite ją nukopijuoti į kitas ląsteles kaip įprasta, dukart spustelėję arba vilkdami užpildymo rankenėlę. Rezultatas atrodys panašiai kaip čia:

    Kad rezultatai būtų pateikti tinkamiausiu būdu, galima pasinaudoti dar keliomis papildomomis parinktimis:

    • Neįtraukti metų ir (arba) neįtraukti mėnesių iš skaičiavimų.
    • Rodyti arba nerodyti teksto etiketės kaip dienos , mėnesių , savaitės , ir metų .
    • Rodyti arba nerodyti nulis vienetų .
    • Grąžinti rezultatus kaip neigiamos vertės jei 1 data (pradžios data) yra didesnė už 2 datą (pabaigos datą).

    Pavyzdžiui, gaukime dviejų datų skirtumą metais, mėnesiais, savaitėmis ir dienomis, neatsižvelgdami į nulinius vienetus:

    Naudojant "Date & amp; Time Formula Wizard" privalumai

    Be greičio ir paprastumo, "Date & amp; Time Wizard" turi dar keletą privalumų:

    • Kitaip nei įprastoje DATEDIF formulėje, vedlio sukurtoje išplėstinėje formulėje nesvarbu, kuri iš dviejų datų yra mažesnė, o kuri didesnė. Skirtumas visada apskaičiuojamas tobulai, net jei 1 data (pradžios data) yra didesnė už 2 datą (pabaigos datą).
    • Vedlys palaiko visus galimus vienetus (dienas, savaites, mėnesius ir metus) ir leidžia pasirinkti iš 11 skirtingų šių vienetų derinių.
    • Vedlio sukurtos formulės yra įprastos "Excel" formulės, todėl jas galite laisvai redaguoti, kopijuoti ar perkelti kaip įprasta. Taip pat galite bendrinti savo darbalapius su kitais žmonėmis, ir visos formulės išliks, net jei kas nors neturi "Ultimate Suite" programos savo "Excel" programoje.

    Taip apskaičiuojamas dviejų datų skirtumas įvairiais laiko intervalais. Tikimės, kad funkcija DATEDIF ir kitos šiandien išmoktos formulės bus naudingos jūsų darbe.

    Galimi atsisiuntimai

    "Ultimate Suite" 14 dienų pilnai veikianti versija (.exe failas)

    Michaelas Brownas yra atsidavęs technologijų entuziastas, mėgstantis supaprastinti sudėtingus procesus naudojant programinės įrangos įrankius. Turėdamas daugiau nei dešimtmetį patirtį technologijų pramonėje, jis patobulino savo įgūdžius „Microsoft Excel“ ir „Outlook“, taip pat „Google“ skaičiuoklėse ir dokumentuose. Michaelio tinklaraštis skirtas dalytis savo žiniomis ir patirtimi su kitais, jame pateikiami lengvai įgyvendinami patarimai ir vadovėliai, kaip pagerinti produktyvumą ir efektyvumą. Nesvarbu, ar esate patyręs profesionalas, ar pradedantysis, Michaelo tinklaraštyje rasite vertingų įžvalgų ir praktinių patarimų, kaip išnaudoti visas šių pagrindinių programinės įrangos įrankių galimybes.