Excel-formel: Få arbejdstimer mellem datoer -

Indholdsfortegnelse

Generisk formel

=NETWORKDAYS(start,end,holidays)*hours

Resumé

For at beregne det samlede antal arbejdstimer mellem to datoer kan du bruge en formel baseret på NETVÆRKDAG-funktionen, hvor "start" er startdatoen, "slut" er slutdatoen, "helligdage" er et interval, der inkluderer datoer, og "timer" er antallet af arbejdstimer i en arbejdsdag. I det viste eksempel er formlen i D7:

=NETWORKDAYS(B7,C7,holidays)*8

hvor "helligdage" er det navngivne område G6: G8.

Forklaring

Denne formel bruger NETWORKDAYS-funktionen til at beregne de samlede arbejdsdage mellem to datoer under hensyntagen til weekender og (valgfrit) helligdage. Helligdage, hvis de findes, skal være en række gyldige Excel-datoer. Når de samlede arbejdsdage er kendt, ganges de simpelthen med et fast antal timer pr. Dag, 8 i det viste eksempel.

NETWORKDAYS-funktionen inkluderer både start- og slutdato i beregningen og ekskluderer både lørdag og søndag som standard. Funktionen udelukker også helligdage, når de derefter er angivet som "helligdags" -argumentet som en række gyldige datoer.

I dette viste eksempel bruger de første to formler NETVÆRKDAG-funktionen.

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

Hvis din arbejdsuge inkluderer andre dage end mandag til fredag, kan du skifte til NETWORKDAYS.INTL-funktionen, som giver et "weekend" -argument, der kan bruges til at definere, hvilke ugedage der er arbejdsdage og weekenddage. NETWORKDAYS.INTL kan konfigureres ligesom NETWORKDAYS, men det giver et ekstra argument kaldet "weekend" til at kontrollere, hvilke dage i en uge, der betragtes som hverdage.

De næste 4 formler bruger NETWORKDAYS.INTL-funktionen:

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

Klik på funktionsnavne ovenfor for at lære mere om konfigurationsindstillinger.

Brugerdefineret arbejdsplan

Denne formel forudsætter, at alle arbejdsdage har det samme antal arbejdstimer. Hvis du har brug for at beregne arbejdstimer med en tilpasset tidsplan, hvor arbejdstiden varierer efter ugedagen, kan du prøve en formel som denne:

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

Du kan finde en forklaring her.

Interessante artikler...