DATEDIF și NETWORKDAYS în Google Sheets: diferența de date în zile, luni și ani

  • Imparte Asta
Michael Brown

Articolul de astăzi de pe blog se referă la calcularea diferenței dintre două date în Google Sheets. Veți vedea o mulțime de formule DATEDIF pentru a număra zilele, lunile și anii și veți afla cum se utilizează NETWORKDAYS pentru a număra doar zilele lucrătoare, chiar dacă concediile dvs. se bazează pe un program personalizat.

O mulțime de utilizatori de foi de calcul consideră că datele sunt confuze, dacă nu chiar extrem de dificil de manevrat. Dar, credeți sau nu, există câteva funcții practice și simple în acest scop. DATEDIF și NETWORKDAYS sunt câteva dintre ele.

    Funcția DATEDIF în Google Sheets

    Așa cum se întâmplă cu funcțiile, numele lor sugerează acțiunea. Același lucru este valabil și pentru DATEDIF. Acesta trebuie citit ca fiind data dif nu datat dacă , și reprezintă diferența de dată Prin urmare, DATEDIF din Google Sheets calculează diferența de dată dintre două date.

    Să o despărțim în bucăți. Funcția necesită trei argumente:

    =DATEDIF(start_date, end_date, unit)
    • start_date - o dată utilizată ca punct de plecare. Trebuie să fie una dintre următoarele:
      • o dată în ghilimele duble: "8/13/2020"
      • o referință la o celulă cu o dată: A2
      • o formulă care returnează o dată: DATA(2020, 8, 13)
      • un număr care reprezintă o anumită dată și care poate fi interpretat ca o dată de către Google Sheets, de exemplu. 44056 reprezintă 13 august 2020 .
    • end_date - o dată utilizată ca punct final. Aceasta trebuie să aibă același format ca și start_date .
    • unitate - este utilizat pentru a spune funcției ce diferență să returneze. Iată o listă completă a unităților pe care le puteți utiliza:
      • "D" - (prescurtare de la zile ) returnează numărul de zile dintre două date.
      • "M" - (luni) numărul de luni întregi dintre două date.
      • "Y" - (ani) numărul de ani întregi.
      • "MD" - (zile fără a lua în considerare lunile) numărul de zile după scăderea lunilor întregi.
      • "YD" - (zile fără a lua în considerare anii) numărul de zile după scăderea anilor întregi.
      • "YM" - (luni fără a lua în considerare anii) numărul de luni complete după scăderea anilor întregi.

    Notă. Toate unitățile trebuie să fie puse în formule în același mod în care apar mai sus - între ghilimele duble.

    Acum să punem toate aceste părți împreună și să vedem cum funcționează formulele DATEDIF în Google Sheets.

    Calculați zilele dintre două date în Google Sheets

    Exemplul 1. Numărați toate zilele

    Am un mic tabel de urmărire a unor comenzi. Toate au fost expediate în prima jumătate a lunii august. Data expedierii - care va fi data de începere a activității mele. Există și o dată aproximativă de livrare - Data limită .

    Am de gând să calculez zilele... "D" - între datele de expediere și cele de scadență pentru a vedea cât timp este nevoie pentru ca articolele să ajungă. Iată formula pe care ar trebui să o folosesc:

    =DATEDIF(B2, C2, "D")

    Introduc formula DATEDIF în D2 și apoi o copiez în josul coloanei pentru a o aplica la alte rânduri.

    Sfat. Puteți calcula întotdeauna întreaga coloană deodată cu o singură formulă folosind ARRAYFORMULA:

    =ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))

    Exemplul 2. Numărați zilele ignorând lunile

    Imaginați-vă că există câteva luni între două date:

    Cum puteți număra doar zilele ca și cum ar aparține aceleiași luni? Exact: ignorând lunile întregi care au trecut. DATEDIF calculează acest lucru automat atunci când utilizați funcția "MD" unitate:

    =DATEDIF(A2, B2, "MD")

    Funcția scade lunile scurse și numără zilele rămase.

    Exemplul 3. Numărați zilele ignorând anii

    O altă unitate - "YD" - va fi de ajutor atunci când datele au mai mult de un an între ele:

    =DATEDIF(A2, B2, "YD")

    Formula va scădea mai întâi anii și apoi va calcula zilele rămase ca și cum ar aparține aceluiași an.

    Numărați zilele lucrătoare în Google Sheets

    Există un caz special când trebuie să numărați numai zilele lucrătoare în Google Sheets. Formulele DATEDIF nu vă vor fi de mare ajutor în acest caz. Și cred că veți fi de acord că scăderea manuală a weekend-urilor nu este cea mai elegantă opțiune.

    Din fericire, Google Sheets are câteva vrăji nu prea magice pentru asta :)

    Exemplul 1. Funcția NETWORKDAYS

    Prima se numește NETWORKDAYS. Această funcție calculează numărul de zile lucrătoare dintre două date, excluzând weekend-urile (sâmbătă și duminică) și chiar zilele de sărbătoare, dacă este necesar:

    =NETWORKDAYS(start_date, end_date, [holidays])
    • start_date - o dată utilizată ca punct de plecare. Necesar.

      Notă: Dacă această dată nu este o zi de sărbătoare, ea este considerată zi lucrătoare.

    • end_date - o dată utilizată ca punct final. Necesar.

      Notă: Dacă această dată nu este o zi de sărbătoare, ea este considerată zi lucrătoare.

    • sărbători - acesta este opțional, pentru cazurile în care trebuie să indicați anumite sărbători. Trebuie să fie un interval de date sau numere care reprezintă date.

    Pentru a ilustra modul în care funcționează, voi adăuga o listă de sărbători care au loc între datele de expediere și cele de scadență:

    Deci, coloana B este data de început, coloana C - data de sfârșit. Datele din coloana E sunt sărbătorile de care trebuie să ținem cont. Iată cum ar trebui să arate formula:

    =NETWORKDAYS(B2, C2, $E$2:$E$4)

    Sfat: Dacă aveți de gând să copiați formula în alte celule, utilizați referințe absolute de celule pentru sărbători pentru a evita erorile sau rezultatele incorecte. Sau luați în considerare construirea unei formule de tip array în schimb.

    Ați observat cum a scăzut numărul de zile în comparație cu formulele DATEDIF? Pentru că acum funcția scade automat toate sâmbetele, duminicile și cele două sărbători care au loc vineri și luni.

    Notă. Spre deosebire de DATEDIF din Google Sheets, NETWORKDAYS numără start_day și end_day ca zile lucrătoare, cu excepția cazului în care acestea sunt zile de sărbătoare. Prin urmare, D7 returnează 1 .

    Exemplul 2. NETWORKDAYS.INTL pentru Google Sheets

    Dacă aveți un program de weekend personalizat, veți beneficia de o altă funcție: NETWORKDAYS.INTL. Aceasta vă permite să numărați zilele de lucru în Google Sheets pe baza weekendurilor stabilite personal:

    =NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])
    • start_date - o dată utilizată ca punct de plecare. Necesar.
    • end_date - o dată utilizată ca punct final. Necesar.

      Notă. NETWORKDAYS.INTL din Google Sheets contează și el start_day și end_day ca zile lucrătoare, cu excepția cazului în care acestea sunt zile de sărbătoare.

    • weekend - Acesta este opțional. Dacă este omis, sâmbăta și duminica sunt considerate ca fiind weekenduri. Dar puteți modifica acest lucru în două moduri:
      • Măști .

        Sfat. Acest mod este perfect pentru atunci când zilele libere sunt împrăștiate în toată săptămâna.

        Masca este un model de șapte cifre format din 1 și 0. 1 reprezintă un weekend, iar 0 o zi lucrătoare. Prima cifră din model este întotdeauna luni, iar ultima - duminică.

        De exemplu, "1100110" înseamnă că lucrați miercuri, joi, vineri și sâmbătă.

        Notă. Masca trebuie să fie pusă între ghilimele duble.

      • Numerele .

        Folosiți numere de o cifră (1-7) care desemnează o pereche de weekenduri de set:

        Număr Weekend
        1 Sâmbătă, duminică
        2 Duminică, luni
        3 Luni, marți
        4 Marți, Miercuri
        5 Miercuri, Joi
        6 Joi, vineri
        7 Vineri, sâmbătă

        Sau lucrați cu numere din două cifre (11-17) care indică o zi de odihnă într-o săptămână:

        Număr Zi de weekend
        11 Duminică
        12 Luni
        13 Marți
        14 Miercuri
        15 Joi
        16 Vineri
        17 Sâmbătă
    • sărbători - este, de asemenea, opțional și este utilizat pentru a specifica sărbătorile.

    Această funcție poate părea complicată din cauza tuturor acestor numere, dar vă încurajez să o încercați.

    În primul rând, înțelegeți clar care sunt zilele libere. Să o facem Duminică și Luni Apoi, decideți cum să vă indicați weekend-urile.

    Dacă mergeți cu o mască, va fi cam așa - 1000001 :

    =NETWORKDAYS.INTL(B2, C2, "1000001")

    Dar, din moment ce am două zile de weekend la rând, pot folosi un număr din tabelele de mai sus, 2 în cazul meu:

    =NETWORKDAYS.INTL(B2, C2, 2)

    Apoi, adăugați pur și simplu ultimul argument - referiți-vă la sărbătorile din coloana E, iar formula este gata:

    =NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)

    Google Sheets și diferența de dată în luni

    Uneori, lunile contează mai mult decât zilele. Dacă acest lucru este valabil pentru dvs. și preferați să obțineți diferența de dată în luni, mai degrabă decât în zile, lăsați Google Sheets DATEDIF să facă treaba.

    Exemplul 1. Numărul de luni întregi dintre două date

    Exercițiul este același: se start_date este primul, urmat de end_date și "M" - care stă în picioare de luni de zile - ca argument final:

    =DATEDIF(A2, B2, "M")

    Sfat: Nu uitați de funcția ARRAUFORMULA care vă poate ajuta să numărați lunile pe toate rândurile deodată:

    =ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))

    Exemplul 2. Numărul de luni care ignoră anii

    Este posibil să nu aveți nevoie să numărați lunile pe parcursul tuturor anilor dintre datele de început și de sfârșit. Și DATEDIF vă permite să faceți acest lucru.

    Folosiți doar butonul "YM" iar formula va scădea mai întâi anii întregi și apoi va număra numărul de luni dintre date:

    =DATEDIF(A2, B2, "YM")

    Calculați anii dintre două date în Google Sheets

    Ultimul (dar nu cel din urmă) lucru pe care vi-l arăt este modul în care Google Sheets DATEDIF calculează diferența de dată în ani.

    Voi calcula numărul de ani de căsătorie a cuplurilor pe baza datelor de nuntă și a datei de astăzi:

    După cum probabil ați ghicit deja, voi folosi "Y" unitate pentru asta:

    =DATEDIF(A2, B2, "Y")

    Toate aceste formule DATEDIF sunt primele pe care trebuie să le încercați atunci când vine vorba de calcularea zilelor, lunilor și anilor dintre două date în Google Sheets.

    În cazul în care cazul tău nu poate fi rezolvat prin acestea sau dacă ai întrebări, te încurajez să le împărtășești cu noi în secțiunea de comentarii de mai jos.

    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.