Indholdsfortegnelse
Dagens blogindlæg handler om at finde ud af forskellen mellem to datoer i Google Sheets. Du vil se masser af DATEDIF-formler til at tælle dage, måneder og år, og du vil lære, hvordan NETWORKDAYS bruges til kun at tælle arbejdsdage, selv om dine feriedage er baseret på en brugerdefineret plan.
Mange regnearksbrugere finder datoer forvirrende, hvis ikke ekstremt vanskelige at håndtere. Men tro det eller ej, der findes et par praktiske og enkle funktioner til dette formål. DATEDIF og NETWORKDAYS er et par af dem.
DATEDIF-funktionen i Google Sheets
Som det er tilfældet med funktioner, antyder deres navne deres handling. Det samme gælder for DATEDIF. Det skal læses som dato dif , ikke dateret, hvis , og det står for forskel i dato Derfor beregner DATEDIF i Google Sheets datadifferencen mellem to datoer.
Lad os skille den ad i småstykker. Funktionen kræver tre argumenter:
=DATEDIF(start_dato, slut_dato, enhed)- start_dato - en dato, der anvendes som udgangspunkt. Det skal være en af følgende:
- en dato i dobbelte anførselstegn: "8/13/2020"
- en henvisning til en celle med en dato: A2
- en formel, der returnerer en dato: DATE(2020, 8, 13)
- et tal, der står for en bestemt dato, og som kan fortolkes som en dato af Google Sheets, f.eks. 44056 repræsenterer August 13, 2020 .
- end_date - en dato, der anvendes som slutpunkt. Den skal have samme format som start_dato .
- enhed - bruges til at fortælle funktionen, hvilken forskel den skal returnere. Her er en komplet liste over enheder, du kan bruge:
- "D" - (forkortelse for dage ) returnerer antallet af dage mellem to datoer.
- "M" - (måneder) antallet af hele måneder mellem to datoer.
- "Y" - (år) antallet af hele år.
- "MD" - (dage uden hensyntagen til måneder) antallet af dage efter fradrag af hele måneder.
- "YD" - (dage uden hensyntagen til år) antallet af dage efter fradrag af hele år.
- "YM" - (måneder uden hensyntagen til år) antallet af hele måneder efter fradrag af hele år.
Bemærk: Alle enheder skal indsættes i formler på samme måde som ovenfor - i dobbelte anførselstegn.
Lad os nu sætte alle disse dele sammen og se, hvordan DATEDIF-formler fungerer i Google Sheets.
Beregne dage mellem to datoer i Google Sheets
Eksempel 1. Tæl alle dage
Jeg har en lille tabel til at spore nogle ordrer. Alle er blevet sendt i første halvdel af august - Forsendelsesdato - som vil være min startdato. Der er også en cirka leveringsdato - Forfaldsdato .
Jeg vil beregne dage - "D" - mellem forsendelses- og forfaldsdatoer for at se, hvor lang tid det tager for varer at ankomme. Her er den formel, jeg skal bruge:
=DATEDIF(B2, C2, "D")
Jeg indtaster DATEDIF-formlen i D2 og kopierer den derefter ned i kolonnen for at anvende den på andre rækker.
Tip. Du kan altid beregne hele kolonnen på en gang med en enkelt formel ved hjælp af ARRAYFORMULA:
=ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))
Eksempel 2. Tælle dage uden at tage hensyn til måneder
Forestil dig, at der er nogle måneder mellem to datoer:
Hvordan tæller man kun dage, som om de hører til den samme måned? Det er rigtigt: ved at ignorere hele måneder, der er gået. DATEDIF beregner dette automatisk, når du bruger "MD" enhed:
=DATEDIF(A2, B2, "MD")
Funktionen trækker de forgangne måneder fra og tæller de resterende dage.
Eksempel 3. Tælle dage uden at tage hensyn til år
En anden enhed - "YD" - vil hjælpe, når der er mere end et år mellem datoerne:
=DATEDIF(A2, B2, "YD")
Formlen trækker først årene fra og beregner derefter de resterende dage, som om de hørte til samme år.
Tælle arbejdsdage i Google Sheets
Der er et særligt tilfælde, hvor du kun skal tælle arbejdsdage i Google Sheets. DATEDIF-formler vil ikke være til megen hjælp her. Og jeg tror, du vil være enig i, at det ikke er den mest elegante løsning at trække weekender fra manuelt.
Heldigvis har Google Sheets et par ikke så magiske løsninger til det :)
Eksempel 1. NETWORKDAYS-funktionen
Den første hedder NETWORKDAYS. Denne funktion beregner antallet af arbejdsdage mellem to datoer eksklusive weekender (lørdag og søndag) og om nødvendigt også helligdage:
=NETWORKDAYS(start_dato, slut_dato, [helligdage])- start_dato - en dato, der anvendes som udgangspunkt. Påkrævet.
Bemærk. Hvis denne dato ikke er en helligdag, regnes den som en arbejdsdag.
- end_date - en dato, der bruges som slutpunkt. Påkrævet.
Bemærk. Hvis denne dato ikke er en helligdag, regnes den som en arbejdsdag.
- ferie - Denne er valgfri, hvis du har brug for at angive bestemte helligdage. Det skal være en række datoer eller tal, der repræsenterer datoer.
For at illustrere, hvordan det fungerer, vil jeg tilføje en liste over helligdage, der finder sted mellem forsendelses- og forfaldsdatoer:
Så kolonne B er min startdato, kolonne C - slutdato. Datoer i kolonne E er de helligdage, der skal tages hensyn til. Sådan skal formlen se ud:
=NETWORKDAYS(B2, C2, $E$2:$E$4)
Tip. Hvis du vil kopiere formlen til andre celler, skal du bruge absolutte cellehenvisninger til ferier for at undgå fejl eller forkerte resultater. Eller overvej at opbygge en arrayformel i stedet.
Har du bemærket, hvordan antallet af dage er faldet i forhold til DATEDIF-formlerne? Fordi funktionen nu automatisk trækker alle lørdage, søndage og to helligdage, der finder sted fredag og mandag, fra.
Bemærk. I modsætning til DATEDIF i Google Sheets tæller NETWORKDAYS start_dag og end_day som arbejdsdage, medmindre de er helligdage. Derfor returnerer D7 1 .
Eksempel 2. NETWORKDAYS.INTL for Google Sheets
Hvis du har en brugerdefineret weekendplan, kan du drage fordel af en anden funktion: NETWORKDAYS.INTL. Den giver dig mulighed for at tælle arbejdsdage i Google Sheets baseret på personligt fastsatte weekender:
=NETWORKDAYS.INTL(start_dato, slut_dato, [weekend], [helligdage])- start_dato - en dato, der anvendes som udgangspunkt. Påkrævet.
- end_date - en dato, der anvendes som slutpunkt. Påkrævet.
Bemærk. NETWORKDAYS.INTL i Google Sheets tæller også med start_dag og end_day som arbejdsdage, medmindre de er helligdage.
- weekend - Denne er valgfri. Hvis den udelades, betragtes lørdag og søndag som weekender. Men du kan ændre dette på to måder:
- Masker .
Tip: Denne måde er perfekt, når dine fridage er spredt ud over hele ugen.
Maske er et syvcifret mønster af 1'er og 0'er. 1 står for en weekend, 0 for en arbejdsdag. Det første ciffer i mønsteret er altid mandag, det sidste ciffer er søndag.
For eksempel, "1100110" betyder, at du arbejder onsdag, torsdag, fredag og lørdag.
Bemærk. Masken skal sættes i dobbelte anførselstegn.
- Tal .
Brug etcifrede tal (1-7), der angiver et par faste weekender:
Nummer Weekend 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 Du kan også arbejde med tocifrede tal (11-17), der angiver en hviledag inden for en uge:
Nummer Weekend dag 11 Søndag 12 Mandag 13 Tirsdag 14 Onsdag 15 Torsdag 16 Fredag 17 Lørdag
- Masker .
- ferie - er også valgfri og bruges til at angive helligdage.
Denne funktion kan virke kompliceret på grund af alle disse tal, men jeg opfordrer dig til at prøve den.
Først skal du bare få en klar forståelse af dine fridage. Lad os gøre det Søndag og Mandag . Derefter skal du beslutte, hvordan du vil angive dine weekender.
Hvis du vælger en maske, vil det være sådan her - 1000001 :
=NETWORKDAYS.INTL(B2, C2, "1000001")
Men da jeg har to weekenddage i træk, kan jeg bruge et tal fra ovenstående tabeller, 2 i mit tilfælde:
=NETWORKDAYS.INTL(B2, C2, 2)
Derefter skal du blot tilføje det sidste argument - henvis til ferier i kolonne E, og så er formlen klar:
=NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)
Google Sheets og datoforskel i måneder
Nogle gange er måneder vigtigere end dage. Hvis det er tilfældet for dig, og du foretrækker at få datoskiftet i måneder frem for dage, kan du lade Google Sheets DATEDIF gøre arbejdet.
Eksempel 1. Antallet af hele måneder mellem to datoer
Øvelsen er den samme: den start_dato går først, efterfulgt af end_date og "M" - der står i månedsvis - som et sidste argument:
=DATEDIF(A2, B2, "M")
Tip: Glem ikke ARRAUFORMULA-funktionen, som kan hjælpe dig med at tælle måneder på alle rækker på én gang:
=ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))
Eksempel 2. Antallet af måneder uden hensyntagen til år
Du behøver måske ikke at tælle måneder i alle årene mellem start- og slutdatoer, og det kan du gøre med DATEDIF.
Brug blot "YM" enhed, og formlen trækker først hele år fra og tæller derefter antallet af måneder mellem datoerne:
=DATEDIF(A2, B2, "YM")
Beregne år mellem to datoer i Google Sheets
Den sidste (men ikke mindst) ting, som jeg vil vise dig, er, hvordan Google Sheets DATEDIF beregner datoskiftet i år.
Jeg vil beregne antallet af år, par har været gift, ud fra deres bryllupsdatoer og dagens dato:
Som du måske allerede har gættet, vil jeg bruge "Y" enhed til dette:
=DATEDIF(A2, B2, "Y")
Alle disse DATEDIF-formler er de første, du skal prøve, når du skal beregne dage, måneder og år mellem to datoer i Google Sheets.
Hvis din sag ikke kan løses ved hjælp af disse løsninger, eller hvis du har spørgsmål, opfordrer jeg dig til at dele dem med os i kommentarfeltet nedenfor.