Formula Excel: obțineți ore de lucru între date -

Cuprins

Formula generică

=NETWORKDAYS(start,end,holidays)*hours

rezumat

Pentru a calcula numărul total de ore de lucru între două date, puteți utiliza o formulă bazată pe funcția NETWORKDAYS, unde „începutul” este data de începere, „sfârșitul” este data de încheiere, „sărbătorile” este un interval care include date, iar „ore” este numărul de ore de lucru într-o zi de lucru. În exemplul prezentat, formula din D7 este:

=NETWORKDAYS(B7,C7,holidays)*8

unde „sărbători” este gama numită G6: G8.

Explicaţie

Această formulă utilizează funcția NETWORKDAYS calculează numărul total de zile lucrătoare între două date, luând în considerare weekendurile și (opțional) sărbătorile. Sărbătorile, dacă sunt furnizate, trebuie să fie un interval de date Excel valide. Odată cunoscute numărul total de zile de lucru, acestea sunt înmulțite pur și simplu cu un număr fix de ore pe zi, 8 în exemplul prezentat.

Funcția NETWORKDAYS include atât data de început, cât și data de încheiere în calcul și exclude în mod implicit atât sâmbăta, cât și duminica. Funcția va exclude, de asemenea, sărbătorile atunci când sunt furnizate ca argument „sărbători” ca un interval de date valide.

În acest exemplu prezentat, primele două formule utilizează funcția NETWORKDAYS.

D6=NETWORKDAYS(B6,C6)*8 // no holidays D7=NETWORKDAYS(B7,C7,holidays)*8 // holidays provided

Dacă săptămâna dvs. de lucru include alte zile decât de luni până vineri, puteți trece la funcția NETWORKDAYS.INTL, care oferă un argument „weekend” care poate fi utilizat pentru a defini ce zile din săptămână sunt zile lucrătoare și zile de weekend. NETWORKDAYS.INTL poate fi configurat la fel ca NETWORKDAYS, dar oferă un argument suplimentar numit „weekend” pentru a controla ce zile dintr-o săptămână sunt considerate zile lucrătoare.

Următoarele 4 formule utilizează funcția NETWORKDAYS.INTL:

D8=NETWORKDAYS.INTL(B8,C8)*8 // Mon-Fri, no holidays D9=NETWORKDAYS.INTL(B9,C9,11)*8 // Mon-Sat, no holidays D10=NETWORKDAYS.INTL(B10,C10)*8 // M-F, no holidays D11=NETWORKDAYS.INTL(B11,C11,1,holidays)*8 // M-F, w/ holidays

Faceți clic pe numele funcțiilor de mai sus pentru a afla mai multe despre opțiunile de configurare.

Program de lucru personalizat

Această formulă presupune că toate zilele lucrătoare au același număr de ore de lucru. Dacă trebuie să calculați orele de lucru cu un program personalizat în care orele de lucru variază în funcție de ziua săptămânii, puteți încerca o formulă de genul acesta:

=SUMPRODUCT(MID(schedule,WEEKDAY(ROW(INDIRECT(start&":"&end))),1)*ISNA(MATCH(ROW(INDIRECT(start&":"&end)),holidays,0)))

Puteți găsi o explicație aici.

Articole interesante...