Tips&Tricks – Cum să calculezi numărul de zile lucrătoare dintre două date?

Ai avut vreodată nevoie să calculezi numărul de zile lucrătoare dintre două date? Cel mai adesea acest calcul este necesar pentru activități care au legătura cu zona de HR, ca de exemplu pentru a calcula beneficiile acumulate de angajați într-o lună.

Ai putea face diferența dintre cele două date și să scazi manual numărul de zile de weekend.

Dar perioada dintre două date poate include și zile libere legal și atunci calculul manual poate genera foarte ușor erori si nu este eficient.

Iar cea mai complexă situație este atunci când zilele lucrătoare nu respectă zilele tradiționale de lucru (luni – vineri).

Pentru toate situațiile de mai sus se poate folosi o singură formulă -> NETWORKDAYS.INTL.

 

Definiție și sintaxa NETWORKDAYS.INTL

Networkdays.intl este o formula de tip Date&Time care calculează numărul de zile lucrătoare dintre două date specificate de utilizator și care permite setarea zilelor de weekend și a celor libere legal.

Aceasta este disponibilă începând cu Office 2010.

NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

Networkdays.intl are patru argumente, primele două fiind obligatorii:

  • start_date și end_date – reprezintă datele pentru care urmează să fie calculată diferența. Pentru ambele argumente se vor introduce valori de tip dată.
  • [weekend] – este un argument opțional prin care utilizatorul specifică zilele săptămânii care sunt zile de weekend și nu sunt incluse în numărul de zile lucrătoare întregi între start_date și end_date. Acest lucru se realizează prin alegerea unui cod din cele de mai jos sau prin configurarea de către utilizator. Setarea implicită este 1, care consideră zilele de sâmbătă și duminică ca fiind zilele de weekend.

  • [holidays] – este un argument opțional care indică datele care urmează să fie excluse din calendarul zilelor lucrătoare.

Calcularea numărului de zile lucrătoare prin excluderea zilelelor de weekend

Pentru început, vom vedea cum se folosește Networkdays.intl,  în cea mai simplă formă a sa, pentru a calcula numărul de zile lucrătoare dintr-o două date atunci când zilele de weekend sunt sâmbătă și duminică.

Formula de mai sus folosește doar primele două argumente. Nu a fost nevoie să folosim argumentul [weekend] pentru că in acest exemplu zilele de weekend coincid cu cele din setarea implicită.

 

Calcularea numărului de zile lucrătoare prin excluderea zilelelor de weekend și a celor libere legal

De această dată vom calcula numărul de zile lucrătoare dintr-o două date atunci când zilele de weekend sunt sâmbătă și duminică și când există zilele libere legal care trebuie excluse din calcul.

Începem prin a scrie formula din exemplul anterior. La cel de-al treilea argument [weekends] scriem codul 1, iar la ultimul argument [holidays] selectăm celulele în care am completat zilele libere legal din anul 2023 (de la celula J8 la J20).

=NETWORKDAYS.INTL(D8,E8,1,$J$8:$J$20)

Calcularea numărului de zile lucrătoare atunci când ai un model personalizat pentru zilele lucrătoare dintr-o săptămână

Formula Networkday.intl are integrată, prin codurile de la argumentul [weekends], posibilitatea de a selecta ca zi nelucrătoare orice zi a săptămânii sau orice combinație de două zile consecutive.

Dar există situații când zilele lucrătoare dintr-o săptămână au un program mai neconvențional.

În acest exemplu vom calcula numărul de zile lucrătoare dintr-o două date atunci când zile lucrătoare sunt: Luni, Marți, Joi, Vineri și Duminică.

Începem prin a scrie formula din primul exemplu. Iar la argumentul [weekends] ne vom folosi de următorul truc: vom crea o secvență 7 cifre folosind 0 și 1, unde zerouri reprezintă zilele lucrătoare, și unu reprezintă zile nelucrătoare.

Va rezulta următoarea formulă:

=NETWORKDAYS.INTL(D8,E8,"0010010")

Dacă dorești să arunci o privire mai atentă acestui exemplu poți descărca fișierul folosind butonul de mai jos:

3 lucruri de reținut despre Networkingdays.Intl

Dacă start_date este mai mare decât end_date, funcția returnează o valoare negativă.

Networkdays.intl include în calcul atât data de început, cât și data de final. Astfel dacă se introduce aceeași dată pentru cea de început și cea de final, aceasta va returna 1 sau 0 (atunci când data furnizată este aferentă unei zile de weekend sau unei zile libere legal).

Dacă o dată furnizată în orice argument este una invalidă sau conține caractere nevalide, funcția returnează eroarea #VALUE!.

Concluzie

Funcția Networkday.intl este o formulă flexibilă cu o mulțime de aplicații. Iar dacă lucrezi des cu valori de tip dată, cu siguranță este una pe care o vei folosi în mod constant.

Folosește zona de comentarii pentru a împărtăși experiența ta sau alte sfaturi utile legate de formulele de tip Date&Time.

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *