Excel WORKDAY og NETWORKDAYS funksjoner for å beregne arbeidsdager

  • Dele Denne
Michael Brown

Denne korte veiledningen forklarer bruken av Excel NETTVERKDAGER- og ARBEIDSDAG-funksjoner for å beregne arbeidsdager med egendefinerte helgeparametere og helligdager.

Microsoft Excel har to funksjoner spesielt utviklet for å beregne ukedager - WORKDAY og NETTVERKDAGER.

ARBEIDSDAG -funksjonen returnerer en dato N virkedager i fremtiden eller i fortiden, og du kan bruke den til å legge til eller trekke fra arbeidsdager til en gitt dato.

Ved å bruke funksjonen NETTVERKDAGER kan du beregne antall arbeidsdager mellom to datoer som du angir.

I Excel 2010 og høyere er kraftigere modifikasjoner av funksjonene ovenfor tilgjengelig, WORKDAY.INTL og NETWORKDAYS.INTL, som lar deg definere hvilke og hvor mange dager som er helgedager.

Og nå, la oss se nærmere på hver funksjon og se hvordan du kan bruke den til å beregne arbeidsdager i Excel-regnearkene dine.

    Excel WORKDAY-funksjonen

    Excel WORKDAY-funksjonen returnerer en dato som er et gitt antall virkedager før eller før startdatoen. Den ekskluderer helger så vel som eventuelle helligdager du spesifiserer.

    WORKDAY-funksjonen er beregnet på å beregne arbeidsdager, milepæler og forfallsdatoer basert på standard arbeidskalender, med lørdag og søndag som helgedager.

    WORKDAY er en innebygd funksjon i Excel 2007 - 365. I tidligere versjoner må du aktivere analysenet lite sett med viktige ting og utlede resten. Jeg takker for at du leser og håper å se på bloggen vår neste uke!

    ToolPak.

    Når du bruker WORKDAY i Excel, må du legge inn følgende argumenter:

    WORKDAY(startdato, dager, [helligdager])

    De to første argumentene er obligatoriske og det siste er valgfritt :

    • Start_date - datoen for å begynne å telle ukedager.
    • Dager - antall arbeidsdager som skal legges til / trekkes fra. fra startdato. Et positivt tall returnerer en fremtidig dato, et negativt tall returnerer en tidligere dato.
    • Helligdager - en valgfri liste over datoer som ikke skal telles som arbeidsdager. Dette kan enten være et celleområde som inneholder datoene du vil ekskludere fra beregninger, eller en matrisekonstant av serienumrene som representerer datoene.

    Nå som du vet det grunnleggende, la oss se hvordan du kan bruke WORKDAY-funksjonen i Excel-regnearkene dine.

    Hvordan bruke WORKDAY til å legge til / trekke fra arbeidsdager til dato

    For å beregne arbeidsdager i Excel, følg disse enkle reglene:

    • For å legge til arbeidsdager, skriv inn et positivt tall som argumentet dager til en ARBEIDSDAG-formel.
    • For å trekke fra arbeidsdager, bruk et negativt tall i argumentet dager .

    Forutsatt at du har en startdato i celle A2, en liste over helligdager i celle B2:B5, og du vil finne ut datoer 30 virkedager i fremtiden og fortiden. Du kan gjøre dette ved å bruke følgende formler:

    For å legge til 30 virkedager til startdatoen, unntatt helligdager iB2:B5:

    =WORKDAY(A2, 30, B2:B5)

    For å trekke 30 virkedager fra startdatoen, unntatt helligdager i B2:B5:

    =WORKDAY(A2, -30, B2:B5)

    For å beregne ukedager basert på gjeldende dato , bruk TODAY()-funksjonen som startdato:

    For å legge til 30 virkedager til dagens dato:

    =WORKDAY(TODAY(), 30)

    Til trekk fra 30 virkedager fra dagens dato:

    =WORKDAY(TODAY(), -30)

    For å angi startdatoen direkte til formelen, bruk DATO-funksjonen:

    =WORKDAY(DATE(2015,5,6), 30)

    Følgende skjermbilde viser resultatene av alle disse og noen flere WORKDAY-formler:

    Og selvfølgelig kan du angi antall arbeidsdager som skal legges til / trekkes fra startdatoen i en celle, og referer deretter til den cellen i formelen din. For eksempel:

    =WORKDAY(A2, C2)

    Hvor A2 er startdatoen og C2 er antall ikke-helgdager bak (negative tall) eller foran (positive tall) startdatoen, ingen helligdager å ekskludere.

    Tips. I Excel 365 og 2021 kan du bruke WORKDAY i kombinasjon med SEQUENCE for å generere en serie arbeidsdager.

    Excel WORKDAY.INTL-funksjon

    WORKDAY.INTL er en kraftigere modifikasjon av WORKDAY. funksjon som fungerer med egendefinerte helgeparametere . I tillegg til WORKDAY, returnerer den en dato som er et spesifisert antall arbeidsdager i fremtiden eller i fortiden, men lar deg bestemme hvilke ukedager som skal regnes som helgedager.

    WORKDAY.INTL-funksjonen ble introdusert iExcel 2010 og så er ikke tilgjengelig i tidligere Excel-versjoner.

    Syntaksen til Excel WORKDAY.INTL-funksjonen er som følger:

    WORKDAY.INTL(startdato, dager, [helg], [helligdager])

    De to første argumentene er påkrevd og ligner på WORKDAYs:

    Start_date - startdatoen.

    Days - antall virkedager før (negativ verdi) eller etter (positiv verdi) startdatoen. Hvis days -argumentet oppgis som et desimaltall, avkortes det til heltall.

    De to siste argumentene er valgfrie:

    Helg - spesifiserer hvilke ukedager som skal være regnes som helgedager. Dette kan enten være et tall eller en streng, som vist nedenfor.

    Tall Helgedager
    1 eller utelatt Lørdag, søndag
    2 Søndag, mandag
    3 Mandag, tirsdag
    4 Tirsdag, onsdag
    5 onsdag, torsdag
    6 Torsdag, fredag
    7 Fredag, lørdag
    11 Kun søndag
    12 Kun mandag
    13 Kun tirsdag
    14 Kun onsdag
    15 Kun torsdag
    16 Kun fredag
    17 Kun lørdag

    Helgstreng - en serie på syv 0-er og 1-ere som representerer syv dager i uken,begynner med mandag. 1 representerer en ikke-arbeidsdag og 0 representerer en arbeidsdag. For eksempel:

    • "0000011" - lørdag og søndag er helger.
    • "1000001" - mandag og søndag er helger.

    Ved første øyekast , helgestrenger kan virke overflødige, men jeg personlig liker denne metoden bedre fordi du kan lage en helgestreng uten å måtte huske noen tall.

    Helligdager - en valgfri liste over datoer du ønsker å ekskludere fra arbeidsdagskalenderen. Dette kan være et celleområde som inneholder datoene, eller en matrisekonstant for serieverdiene som representerer disse datoene.

    Bruk av WORKDAY.INTL i Excel - formeleksempler

    Vel, den ganske store bulken teorien vi nettopp har diskutert kan virke ganske komplisert og forvirrende, men å prøve deg på formler vil gjøre ting veldig enkelt.

    På datasettet vårt, med startdatoen i celle A2 og en liste over helligdager i A5 :A8, la oss beregne arbeidsdager med tilpassede helger.

    For å legge til 30 arbeidsdager til startdatoen, fredag ​​og lørdag regnet som helger og helligdager i A5:A8 ekskludert:

    =WORKDAY.INTL(A2, 30, 7, A5:A8)

    eller

    =WORKDAY.INTL(A2, 30, "0000110", A5:A8)

    Å trekke fra 30 virkedager fra startdatoen, søndag og mandag regnet som helger og helligdager i A5:A8 ekskludert :

    =WORKDAY.INTL(A2, -30, 2, A5:A8)

    eller

    =WORKDAY.INTL(A2, -30, "1000001", A5:A8)

    For å legge til 10 virkedager til gjeldende dato , søndag er den eneste helgedagen, Neihelligdager:

    =WORKDAY.INTL(TODAY(), 10, 11)

    eller

    =WORKDAY.INTL(A2, 10, "0000001")

    I Excel-arket kan formlene se slik ut:

    Merk. Både Excel WORKDAY- og WORKDAY.INTL-funksjonene returnerer serienumre som representerer datoene. For å få disse tallene vist som datoer, velg cellene med tallene og trykk Ctrl+1 for å åpne dialogboksen Formater celler . I kategorien Nummer velger du Dato i listen Kategori , og velger datoformatet du ønsker. For detaljerte trinn, se Hvordan endre datoformat i Excel.

    Excel WORKDAY og WORKDAY.INTL-feil

    Hvis Excel WORKDAY- eller WORKDAY.INTL-formelen returnerer en feil, er årsaken sannsynligvis en av følgende:

    # NUM! feil oppstår hvis enten:

    • en kombinasjon av start_date - og days -argumentene resulterer i en ugyldig dato, eller
    • weekend -argumentet i WORKDAY.INTL-funksjonen er ugyldig .

    #VERDI! feil oppstår hvis enten:

    • start_date eller en hvilken som helst verdi i holidays ikke er en gyldig dato, eller
    • days -argumentet er ikke-numerisk.

    Excel NETTVERKDAGER-funksjonen

    NETTVERKDAGER-funksjonen i Excel returnerer antall arbeidsdager mellom to datoer, unntatt helger og, valgfritt, helligdagene du spesifiser.

    Syntaksen til Excel NETWORKDAYS er intuitiv og lett å huske:

    NETTVERKDAGER(startdato, sluttdato, [helligdager])

    De to første argumentene er obligatoriske og det tredje ervalgfritt:

    • Start_date - startdato for å begynne å telle arbeidsdager.
    • End_date - slutten av perioden som du teller arbeidsdager.

    Både startdato og sluttdato telles i det returnerte antall arbeidsdager.

    • Helligdager - en valgfri liste av helligdager som ikke skal telles som arbeidsdager.

    Hvordan bruke NETTVERKDAGER i Excel - formeleksempel

    La oss si at du har en liste over helligdager i cellene A2:A5, startdatoer i kolonne B, sluttdatoer i kolonne C, og du vil vite hvor mange arbeidsdager som er mellom disse datoene. Den riktige NETTVERKDAGER-formelen er lett å finne ut:

    =NETWORKDAYS(B2, C2, $A$2:$A$5)

    Merk at Excel-NETTVERKDAGER-funksjonen returnerer en positiv verdi når startdatoen er mindre enn sluttdatoen, og en negativ verdi hvis sluttdatoen er nyere enn startdatoen (som i rad 5):

    Excel NETWORKDAYS.INTL-funksjon

    Som NETWORKDAYS, Excels NETWORKDAYS.INTL-funksjon beregner antall ukedager mellom to datoer, men lar deg spesifisere hvilke dager som skal telles som helgedager.

    Syntaksen til NETWORKDAYS.INTL-funksjonen er veldig lik NETWORKDAYS', bortsett fra at den har tillegget [weekend ] parameter som angir hvilke ukedager som skal telles som helger.

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

    Argumentet weekend kan akseptereenten et tall eller en streng. Tallene og helgestrengene er nøyaktig de samme som i parameteren weekend til WORKDAY.INTL-funksjonen.

    NETWORKDAYS.INTL-funksjonen er tilgjengelig i Excel 365 - 2010.

    Ved bruk av NETWORKDAYS.INTL i Excel - formeleksempel

    Ved å bruke listen over datoer fra forrige eksempel, la oss beregne antall arbeidsdager mellom to datoer med søndag som eneste helgedag. For dette skriver du inn nummer 11 i weekend -argumentet til NETWORKDAYS.INTL-formelen eller lager en streng med seks 0-er og én 1 ("0000001"):

    =NETWORKDAYS.INTL(B2, C2, 11, $A$2:$A$5)

    Eller

    =NETWORKDAYS.INTL(B2, C2, "0000001", $A$2:$A$5)

    Det følgende skjermbildet viser at begge formlene gir helt identiske resultater.

    Hvordan fremheve arbeidsdager i Excel

    Bruk funksjonene WORKDAY og WORKDAY.INTL, kan du ikke bare beregne arbeidsdager i Excel-regnearkene, men også fremheve dem slik forretningslogikken krever det. For dette oppretter du en betinget formateringsregel med enten en WORKDAY- eller WORKDAY.INTL-formel.

    For eksempel, i en liste over datoer i kolonne B, la oss bare fremheve fremtidige datoer som er innenfor 15 virkedager fra dagens dato , unntatt to helligdager i cellene A2:A3. Den mest åpenbare formelen du tenker på er som følger:

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3))

    Den første delen av den logiske testen avskjærer tidligere datoer, det vil si at du sjekker om en dato er lik eller større enn i dag : $B2>IDAG(). Og i den andre delen bekrefter duom en dato ikke er mer enn 15 ukedager i fremtiden, unntatt helgedager og spesifiserte helligdager: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)

    Formelen ser riktig ut, men når du oppretter en regel basert på den, vil du innse at den fremhever feil datoer:

    La oss prøve å finne ut hvorfor det skjer. Problemet ligger ikke i WORKDAY-funksjonen, som noen kanskje kan konkludere med. Funksjonen er riktig, men... hva gjør den egentlig? Den returnerer en dato 15 virkedager fra nå, unntatt helgedager (lørdag og søndag) og helligdager i cellene A2:A3.

    Ok, og hva gjør regelen basert på denne formelen? Den fremhever ALLE datoene som er lik eller større enn i dag og mindre enn datoen returnert av WORKDAY-funksjonen. Du ser? Alle datoene! Hvis du ikke vil fargelegge helger og helligdager, må du eksplisitt fortelle Excel å ikke gjøre det. Så vi legger til to betingelser til i formelen vår:

    • WEEKDAY-funksjonen for å ekskludere helger: WEEKDAY($B2, 2)<6
    • TALLHVIS-funksjonen for å ekskludere helligdager : COUNTIF($A$2:$A$3, $B2)=0

    Som vist i skjermbildet nedenfor, fungerer den forbedrede formelen perfekt:

    =AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3), COUNTIF($A$2:$A$3, $B2)=0, WEEKDAY($B2, 2)<6)

    Som du ser, gjør funksjonene WORKDAY og WORKDAY.INTL det raskt og enkelt å beregne arbeidsdager i Excel. Selvfølgelig er formlene dine i det virkelige liv sannsynligvis mer sofistikerte, men å kjenne det grunnleggende hjelper enormt, fordi du bare kan huske

    Michael Brown er en dedikert teknologientusiast med en lidenskap for å forenkle komplekse prosesser ved hjelp av programvareverktøy. Med mer enn ti års erfaring i teknologibransjen, har han forbedret ferdighetene sine i Microsoft Excel og Outlook, samt Google Sheets og Docs. Michaels blogg er dedikert til å dele sin kunnskap og ekspertise med andre, og gir enkle å følge tips og veiledninger for å forbedre produktivitet og effektivitet. Enten du er en erfaren profesjonell eller nybegynner, tilbyr Michaels blogg verdifull innsikt og praktiske råd for å få mest mulig ut av disse viktige programvareverktøyene.