DATEDIF og NETWORKDAYS i Google Regneark: datoforskjell i dager, måneder og år

  • Dele Denne
Michael Brown

Dagens blogginnlegg handler om å finne ut forskjellen mellom to datoer i Google Sheets. Du vil se mange DATEDIF-formler for å telle dager, måneder og år, og lære hvordan NETWORKDAYS brukes til å telle arbeidsdager bare selv om ferien din er basert på en egendefinert tidsplan.

Mange regneark brukere finner datoer forvirrende, om ikke ekstremt vanskelig, å håndtere. Men tro det eller ei, det er noen få nyttige og enkle funksjoner for det formålet. DATEDIF og NETWORKDAYS er et par av dem.

    DATEDIF-funksjon i Google Sheets

    Som det skjer med funksjoner, antyder navnene deres handlingen. Det samme gjelder DATEDIF. Den må leses som datodif , ikke datert if , og den står for datoforskjell . Derfor beregner DATEDIF i Google Sheets datoforskjellen mellom to datoer.

    La oss dele den opp i biter. Funksjonen krever tre argumenter:

    =DATEDIF(startdato, sluttdato, enhet)
    • startdato – en dato som brukes som utgangspunkt. Det må være ett av følgende:
      • en selve datoen i doble anførselstegn: "8/13/2020"
      • en referanse til en celle med en dato: A2
      • en formel som returnerer en dato: DATE(2020, 8, 13)
      • et tall som står for en bestemt dato og som kan tolkes som en dato av Google Sheets, f.eks. 44056 representerer 13. august 2020 .
    • sluttdato – en dato bruktsom et endepunkt. Den må ha samme format som startdato .
    • enhet – brukes til å fortelle funksjonen hvilken forskjell som skal returneres. Her er en fullstendig liste over enheter du kan bruke:
      • "D" – (forkortelse for dager ) returnerer antall dager mellom to datoer.
      • "M" – (måneder) antall hele måneder mellom to datoer.
      • "Y" – (år) antall hele år.
      • "MD" – (dager ignorerer måneder) antall dager etter å trekke hele måneder.
      • "YD" – (dager ignorerer år) antall dager etter fratrekk av hele år.
      • "YM" – (måneder ignorerer år) antall komplette måneder etter fratrekk av hele år.

    Merk. Alle enheter må settes til formler på samme måte som de vises ovenfor – i doble anførselstegn.

    La oss nå sette sammen alle disse delene og se hvordan DATEDIF-formler fungerer i Google Sheets.

    Beregn dager mellom to datoer i Google Sheets

    Eksempel 1. Tell alle dager

    Jeg har et lite bord for å spore noen bestillinger. Alle har blitt sendt i første halvdel av august – Forsendelsesdato – som kommer til å være min startdato. Det er også en omtrentlig leveringsdato – Forfallsdato .

    Jeg skal beregne dager – "D" – mellom frakt og forfallsdatoer for å se hvor lang tid det tar før varene kommer frem. Her er formelen jeg skal bruke:

    =DATEDIF(B2, C2, "D")

    Jeg skriver innDATEDIF-formel til D2, og kopier den deretter ned i kolonnen for å bruke den på andre rader.

    Tips. Du kan alltid beregne hele kolonnen samtidig med en enkelt formel ved å bruke ARRAYFORMULA:

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

    Eksempel 2. Tell dager mens du ignorerer måneder

    Tenk deg det er noen måneder mellom to datoer:

    Hvordan teller du bare dager som om de tilhørte samme måned? Det stemmer: ved å ignorere hele måneder som har gått. DATEDIF beregner dette automatisk når du bruker "MD" -enheten:

    =DATEDIF(A2, B2, "MD")

    Funksjonen trekker fra forløpte måneder og teller gjenværende dager .

    Eksempel 3. Tell dager mens du ignorerer år

    En annen enhet – "YD" – vil hjelpe når datoer har mer enn ett år mellom seg:

    =DATEDIF(A2, B2, "YD")

    Formelen vil trekke fra år først, og deretter beregne gjenværende dager som om de tilhørte samme år.

    Telle arbeidsdager i Google Sheets

    Det er et spesielt tilfelle når du bare trenger å telle arbeidsdager i Google Sheets. DATEDIF-formler vil ikke være mye til hjelp her. Og jeg tror du vil være enig i at å trekke fra helger manuelt ikke er det mest elegante alternativet.

    Heldigvis har Google Sheets et par ikke-så-magiske trollformler for det :)

    Eksempel 1. NETTVERKDAGER-funksjon

    Den første kalles NETTDAGER. Denne funksjonen beregner antall virkedager mellom to datoer unntatt helger (lørdag ogsøndag) og til og med helligdager om nødvendig:

    =NETTVERKDAGER(startdato, sluttdato, [helligdager])
    • startdato – en dato som brukes som utgangspunkt. Obligatorisk.

      Merk. Dersom denne datoen ikke er en helligdag, regnes den som en virkedag.

    • sluttdato – en dato som brukes som endepunkt. Obligatorisk.

      Merk. Dersom denne datoen ikke er en helligdag, regnes den som en virkedag.

    • ferier – denne er valgfri når du trenger å peke ut spesifikke helligdager. Det må være et utvalg av datoer eller tall som representerer datoer.

    For å illustrere hvordan det fungerer, vil jeg legge til en liste over helligdager som finner sted mellom forsendelse og forfallsdato:

    Så, kolonne B er min startdato, kolonner C - sluttdato. Datoer i kolonne E er høytidene du bør vurdere. Slik skal formelen se ut:

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

    Tips. Hvis du skal kopiere formelen til andre celler, bruk absolutte cellereferanser for helligdager for å unngå feil eller feil resultater. Eller vurder å bygge en matriseformel i stedet.

    Har du lagt merke til hvordan antall dager gikk ned sammenlignet med DATEDIF-formlene? For nå trekker funksjonen automatisk fra alle lørdager, søndager og to helligdager som finner sted på fredag ​​og mandag.

    Merk. I motsetning til DATEDIF i Google Regneark, teller NETWORKDAYS startdag og sluttdag som arbeidsdager med mindre de er helligdager. Derfor returnerer D7 1 .

    Eksempel 2.NETWORKDAYS.INTL for Google Sheets

    Hvis du har en egendefinert helgeplan, vil du dra nytte av en annen funksjon: NETWORKDAYS.INTL. Den lar deg telle arbeidsdager i Google Regneark basert på personlig angitte helger:

    =NETTVERKDAGER.INTL(startdato, sluttdato, [helg], [helligdager])
    • startdato – en dato brukt som utgangspunkt. Obligatorisk.
    • sluttdato – en dato som brukes som endepunkt. Obligatorisk.

      Merk. NETWORKDAYS.INTL i Google Sheets teller også start_day og end_day som arbeidsdager med mindre de er helligdager.

    • helg – denne er valgfri. Hvis utelatt, regnes lørdag og søndag som helger. Men du kan endre det på to måter:
      • Masker .

        Tips. Denne måten er perfekt når fridagene dine er spredt over hele uken.

        Mask er et syvsifret mønster av 1-er og 0-er. 1 står for en helg, 0 for en arbeidsdag. Det første sifferet i mønsteret er alltid mandag, det siste - søndag.

        For eksempel betyr "1100110" at du jobber onsdag, torsdag, fredag ​​og lørdag.

        Merk. Masken må settes i doble anførselstegn.

      • Tall .

        Bruk ettsifrede tall (1-7) som angir et par faste helger:

        Nummer Helg
        1 Lørdag, søndag
        2 Søndag, mandag
        3 Mandag, tirsdag
        4 Tirsdag,Onsdag
        5 Onsdag, torsdag
        6 Torsdag, fredag
        7 Fredag, lørdag

        Eller arbeid med tosifrede tall (11-17) som angir en hviledag innen en uke:

        Nummer Helgedag
        11 Søndag
        12 Mandag
        13 Tirsdag
        14 Onsdag
        15 Torsdag
        16 Fredag
        17 Lørdag
    • helligdager – den er også valgfri og brukes til å spesifisere helligdager.

    Denne funksjonen kan virke komplisert på grunn av alle disse tallene, men jeg oppfordrer deg til å prøve.

    Først, bare få en klar forståelse av fridagene dine. La oss klare det søndag og mandag . Bestem deretter veien for å angi helgene dine.

    Hvis du går med en maske, vil det være slik – 1000001 :

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

    Men siden jeg har to helgedager på rad, kan jeg bruke et tall fra tabellene ovenfor, 2 i mitt tilfelle:

    =NETWORKDAYS.INTL(B2, C2, 2)

    Deretter legger jeg bare til siste argument – ​​referer til helligdager i kolonne E, og formelen er klar:

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

    Google Sheets og datoforskjell i måneder

    Noen ganger betyr måneder mer enn dager. Hvis dette er sant for deg og du foretrekker å få datoforskjellen i måneder i stedet for dager, la Google SheetsDATEDIF gjør jobben.

    Eksempel 1. Antall hele måneder mellom to datoer

    Drillen er den samme: startdatoen går først, etterfulgt av end_date og "M" – som står for måneder – som et siste argument:

    =DATEDIF(A2, B2, "M")

    Tips. Ikke glem ARRAUFORMULA-funksjonen som kan hjelpe deg å telle måneder på alle rader samtidig:

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

    Eksempel 2. Antall måneder som ignorerer år

    Du trenger kanskje ikke å telle måneder gjennom alle årene mellom start- og sluttdato. Og DATEDIF lar deg gjøre det.

    Bare bruk "YM" -enheten, så trekker formelen hele år først, og teller deretter antall måneder mellom datoer:

    =DATEDIF(A2, B2, "YM")

    Beregn år mellom to datoer i Google Sheets

    Det siste (men ikke minst) du kan vise deg er hvordan Google Sheets DATEDIF beregner datoen forskjell i år.

    Jeg skal beregne antall år par har vært gift basert på bryllupsdatoene deres og dagens dato:

    Som du kanskje allerede har gjettet, vil jeg bruke "Y" -enheten for det:

    =DATEDIF(A2, B2, "Y")

    Alle disse DATEDIF-formlene er først til å prøve når det gjelder å beregne dager, måneder og år mellom to datoer i Google Sheets.

    Hvis saken din ikke kan løses med disse eller hvis du har spørsmål, oppfordrer jeg deg til å dele dem med oss ​​i kommentarfeltetnedenfor.

    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.