Datoberegninger





Tidsinterval målt i dage

Funktionen DAYS() udregner længden af perioden mellem to datoer i dage. Har man en dansk version af Excel, hedder funktionen i stedet DAGE(). Funktionen skal bruge en slutdato og en startdato, i den rækkefølge, for at fungere korrekt.

For Microsoft Excel ser det således ud:
Tidsinterval udregnet i dage i Excel regneark

For OpenOffice Calc ser det således ud:
Tidsinterval udregnet i dage i Calc regneark


Har man brug for at der arbejdes med år på 360 dage (12 måneder á 30 dage), kan man bruge funktionen DAYS360(). Har man en dansk version af Excel, hedder funktionen i stedet DAGE360(). Funktionen skal bruge en startdato, en slutdato og en metode, i den rækkefølge, for at fungere korrekt. Metode refererer til om der skal anvendes amerikansk metode (NASD), 0, eller europæisk metode, 1 (eller et andet tal forskelligt fra 0).

For Microsoft Excel ser det således ud:
Tidsinterval udregnet i dage i Excel regneark

For OpenOffice Calc ser det således ud:
Tidsinterval udregnet i dage i Calc regneark


Har man brug for kun at tælle arbejdsdage, kan man bruge funktionen NETWORKDAYS(). Har man en dansk version af Excel, hedder funktionen i stedet ANTAL.ARBEJDSDAGE(). Funktionen skal bruge en startdato, en slutdato og evt. en liste med ferie/fri-dage. Funktionen går ud fra at lørdage og søndage er fridage, og har en mulighed for at tilføje andre fridage, som også bliver trukket fra, i det omfang de ikke allerede ligger i weekenden. Bemærk, at NETWORKDAYS() regner dage fra og med førstnævnte dag, modsat DAYS(), der regner dage fra den førstnævnte dag.

For Microsoft Excel ser det således ud:
Tidsinterval udregnet i arbejdsdage i Excel regneark

For OpenOffice Calc ser det således ud:
Tidsinterval udregnet i arbejdsdage i Calc regneark


Excel har en udviddet udgave af NETWORKDAYS(), der hedder NETWORKDAYS.INTL(). Har man en dansk version af Excel, hedder funktionen i stedet ANTAL.ARBEJDSDAGE.INTL(). Funktionen tillader, at man frit lægger weekendfri/faste fridage, i stedet for at det skal være lørdag-søndag. Opbygningen er startdato, slutdato, kode for weekenddage, liste med ferie/fri-dage. De sidste to variabler er valgfrie.

Koden for weekenddage, som er det eneste der er forskellig fra at bruge NETWORKDAYS(), ser således ud:

VærdiWeekenddage
1Lørdag + søndag
2Søndag + mandag
3Mandag + tirsdag
4Tirsdag + onsdag
5Onsdag + torsdag
6Torsdag + fredag
7Fredag + lørdag
11Kun søndag
12Kun mandag
13Kun tirsdag
14Kun onsdag
15Kun torsdag
16Kun fredag
17Kun lørdag


Man kan også specificere ugens 7 dage med 0 og 1 (hhv. arbejdsdag og fri), dvs. "0000011" er en almindelig weekend lørdag-søndag, mens "00100010" er en uge hvor onsdag og lørdag er fridage/weekend. Ping'erne skal med i talsekvensen.

For Microsoft Excel ser det således ud:
Tidsinterval udregnet i arbejdsdage i Excel regneark


Tidsinterval målt i uger

Calc har funktionen WEEKS(), som udregner længden af perioden mellem to datoer i uger. Funktionen skal bruge en startdato, en slutdato og en metode, i den rækkefølge, for at fungere korrekt. Metode refererer til om der returneres antallet af hele uger mellem de to datoer, 0, eller antallet af uger fra ugen (identificeret som mandag til søndag) med førstnævnte dato til ugen med sidstnævnte dato, begge inklusive, 1 (eller et andet tal forskelligt fra 0).

For OpenOffice Calc ser det således ud:
Tidsinterval udregnet i uger i Calc regneark


Tidsinterval målt i måneder

Calc har funktionen MONTHS(), som udregner længden af perioden mellem to datoer i måneder. Funktionen skal bruge en startdato, en slutdato og en metode, i den rækkefølge, for at fungere korrekt. Metode refererer til om der returneres antallet af hele måneder mellem de to datoer, 0, eller antallet af måneder fra førstnævnte dato til sidstnævnte dato, begge inklusive, 1 (eller et andet tal forskelligt fra 0).

For OpenOffice Calc ser det således ud:
Tidsinterval udregnet i måneder i Calc regneark


Tidsinterval målt i år

Funktionen YEARFRAC() udregner længden af perioden mellem to datoer i år. Har man en dansk version af Excel, hedder funktionen i stedet ÅR.BRØK(). Funktionen skal bruge en startdato, en slutdato og en udregningsmetode.

Variablen udregningsmetode specificerer hvordan et år skal anskues, f.eks. arbejder banker med at et år er 12 måneder à 30 dage ifm. rentesregning, og kan antage værdierne 0 til 4.

VærdiBasis for tælling af dage
0 (default)US (NASD) 30/360
1Faktisk antal dage jvf. kalender
2Faktisk antal dage, men et år = 360 dage
3Faktisk antal dage, men et år = 365 dage
4Europæisk et år = 12 måneder á 30 dage


Selvom Excel og Calc angiveligt skulle regne tidsfraktionen på samme måde, kan man af nedenstående eksempel se, at dette ikke helt er tilfældet.

For Microsoft Excel ser det således ud:
Aktuelt år med YEAR() i Excel regneark

For OpenOffice Calc ser det således ud:
Aktuelt år med YEAR() i Calc regneark


Tidsinterval målt i hele år

Funktionen YEARS() udregner antallet af hele år mellem to datoer. Funktionen skal bruge en startdato, en slutdato og en udregningsmetode. Variablen udregningsmetode kan være 1 eller 2. Ved 1 udregnes antallet af hele år fra de eksakte datoer, mens der ved 2 kun regnes ud fra årstallene, dvs. i det viste eksempel vil den returnerede værdi være forskellig, afhængig af om udregningsmetoden er sat til 1 eller 2. Funktionen findes ikke i Excel.

For OpenOffice Calc ser det således ud:
Beregning af antal hele år mellem to datoer i Calc regneark


Frem- og tilbageskrivninger af datoer

Regneark har en række funktioner, hvor man ud fra en startdato kan regne dage, uger eller måneder frem eller tilbage i tiden, dvs. i stedet for, som i de ovenstående afsnit, at angive to datoer og finde et antal dage, kan man her angive en startdato og et antal dage eller uger, og få en dato. Positive tidsangivelser regner fremad i tid i forhold til startdatoen, negative værdier regner bagud i tid. Funktionerne returnerer datoerne som serienumre, som efterfølgende kan omregnes til almindelige datoformater.

Funktionen EDATE() fremskriver datoen med det angivne antal måneder, dvs. funktionen skal bruge en startdato og et antal måneder. Funktionen tager kun heltal som antal måneder, skriver man et decimaltal ignoreres decimalerne.

For Microsoft Excel ser det således ud:
Fremskrivning af dato med EDATE() i Excel regneark

For OpenOffice Calc ser det således ud:
Fremskrivning af dato med EDATE() i Calc regneark


Funktionen EOMONTH() fremskriver datoen med det angivne antal måneder, og vælger derefter den sidste dag i den pågældende måned, dvs. funktionen skal bruge en startdato og et antal måneder. Funktionen tager kun heltal som antal måneder, skriver man et decimaltal ignoreres decimalerne.

For Microsoft Excel ser det således ud:
Fremskrivning af dato med EOMONTH() i Excel regneark

For OpenOffice Calc ser det således ud:
Fremskrivning af dato med EOMONTH() i Calc regneark


Funktionen WORKDAY() tager højde for weekender og, i det omfang der er en liste, fridage. Til funktionen angives en startdato, antallet af arbejdsdage og evt. en liste med fridage. Hvis listen indeholder datoer der ikke ligger inden for den relevante tidsperiode ignoreres disse, og er der sammenfald mellem listede datoer og weekend, ignoreres de ligeledes.

For Microsoft Excel ser det således ud:
Fremskrivning af dato med WORKDAY() i Excel regneark

For OpenOffice Calc ser det således ud:
Fremskrivning af dato med WORKDAY() i Calc regneark