Dato og Tid formler
Beregning af tid og dato i Excel er noget som mange er stødt på. Der er mange måder at regne med datoer og tid på og faldgruberne er mange.
Gør det til en vane altid at indtaste datoer i et format som Excel kender til. Standardformat for datoer er i den danske version dd-mm-åååå. Det samme gælder indtastning af tid, hvor standardformatet er tt:mm:ss.
Excel kan ved hjælp af disse formler beregne stort set alt inden for perioder.
Temaet for formlerne på denne side, er dato, tid og alder og de er designet til at kunnet sættes direkte ind i dine regneark.
For alle formel-eksempler på denne side gælder det som udgangspunkt, at input står i A1 og B1.
Hvis du sætter formlen ind i C1, vil du kunne bruge formlerne direkte fra siden.
Tælle antallet af dage i en given måned:
Står der 01-01-2011 i A1, vil give resultatet 31
=DAG(DATO(ÅR(A1);MÅNED(A1)+1;0)) |
For at se datoen på den første dag på måneden, skal du bruge denne formel.
Hvis du skriver 15-11-2011 i A1, vil resultatet give 01-11-2011
=DATO(ÅR(A1);MÅNED(A1);1) |
Sidste dag på måneden kan vises hvis du bruger denne formel:
Hvis du skriver 15-11-2011 i A1, vil resultatet give 30-11-2011
=DATO(ÅR(A1);MÅNED(A1)+1;0) |
Sidste dag i sidste måned, kan findes med en modifikation af ovenstående.
=DATO(ÅR(A1);MÅNED(A1);0) |
Hvis du i stedet ønsker at se datoen for den første hverdag i en måned, vil dette kunne hjælpe dig.
Tast f.eks. 15-10-2011 i A1 og formlen vil returnere 03-10-2011.
=DATO(ÅR(A1);MÅNED(A1);1)+VÆLG(UGEDAG(DATO(ÅR(A1);MÅNED(A1);1));1;0;0;0;0;0;2) |
Den sidste hverdag i måneden kan findes med denne formel:
Skriver du 15-07-2011 i A1, vil formlens resultat blive 29-07-2011
=DATO(ÅR(A1);MÅNED(A1)+1;0)-(MAKS(0;UGEDAG(DATO(ÅR(A1);MÅNED(A1)+1;0);2)-5)) |
I dette tilfælde vil vi finde den 3 mandag i en måned.
Skriv årstallet i A1, måneden som tal i B1 og indsæt formlen i fx C1.
Skriver du 2019 i A1 og 1 i B1 vil formlens resultat blive 21-01-2019
=DATO(A1;B1;1+7*3)-UGEDAG(DATO(A1;B1;8-2)) |
Ønsker du at finde andre ugedage, kan du ændre i formlen. Den første del af formlen DATO(A1;B1;1+7*3), illustrerer i dette tilfælde at vi vil finde den 3. af en ugedag.
Den sidste del af formlen UGEDAG(DATO(A1;B1;8-2)) illustrerer at vi vil finde den 2. dag i ugen. HUSK at søndag er nummer 1 i Excel, så 2 betyder mandag.
I dette tilfælde finder formlen den 3 mandag i måneden.
Hvis du har en dato, f.eks. 01-01-2011 i A1 og 01-06-2011 i B1, vil denne formel kunne fortælle dig hvor mange uger og dage der er imellem de 2 datoer
Resultatet vil i dette tilfælde være: 21 uge(r) og 4 dage
Bemærk at formlen ikke tæller den sidste dag med.
=AFKORT((B1-A1)/7)&" uge(r) og "&REST(B1-A1;7)&" dage" |
Hvis du har en dato, f.eks. 01-01-2011 i A1 og 01-06-2011 i B1, vil denne formel kunne fortælle dig hvor mange mandage der er imellem de 2 datoer
Resultatet vil i dette tilfælde være: 22
Formlen kan selvfølgelig ændres til at tælle hvilken som helst dag ved at ændre f.eks =2 til =1 for søndag
Husk at denne formel skal afsluttes ved at du klikker midt i formlen, holder CTRL og SHIFT neden mens du trykket 1 gang på ENTER
{=SUM(1*(UGEDAG(RÆKKE(INDIREKTE(A1&":"&A2)))=2))} |
Hvis du har en medarbejders ansættelsesdato, f.eks. 01-01-2008 i A1, kan du beregne personens anciennitet på denne måde.
Formlen kan selvfølgelig bruges til alt andet også, f.eks. kan det bruges til at finde en persons alder i år og måneder.
Resultatet kunne være: 4 år og 9 måneder.
=DATO.FORSKEL(A1;NU();"y")&" år og "&DATO.FORSKEL(A1;NU();"m")-DATO.FORSKEL(A1;NU();"y")*12&" måneder" |
Hvis du har et CPR-nummer, i A1, kan du finde personens fødselsdato ved at bruge denne formel.
Formlen kan finde fødselsdagen på alle CPR numre på personer som er født i 1858 og efter.
Bemærk at CPR-numre som udgangspunkt formateres som tekst, da Excel ikke accepterer tal som starter med 0
Alternativt kan du ved hjælp af en formel, sætte et 0 foran ved at bruge formlen =HVIS(LÆNGDE(A1)=9;"0"&A1;A1)
Formater som xxxxxx-xxxx og xxxxxxxxxx kan beregnes.
=VENSTRE(A1;2)&"-"&MIDT(A1;3;2)&"-"&MIDT(A1;5;2)+HVIS(VENSTRE(HØJRE(A1;4);1)*1<=3;1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1<=36);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1>=37);1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1<=57);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1>=58);1800;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=9;MIDT(A1;5;2)*1<=36);2000+MIDT(A1;5;2);1900)))))) |
Hvis du har et CPR-nummer, i A1, kan du beregne personens alder ved at bruge denne formel.
Formlen kan finde alder på alle personer som er født i 1858 og efter.
Husk at cellen med formlen skal formateres som 'Standard' eller 'Tal'.
Bemærk at CPR-numre helst skal formateres som tekst, da Excel ikke accepterer tal som starter med 0
Alternativt kan du ved hjælp af en formel, sætte et 0 foran ved at bruge formlen =HVIS(LÆNGDE(A1)=9;"0"&A1;A1)
Formater som xxxxxx-xxxx og xxxxxxxxxx kan beregnes.
=ÅR(NU())-1-HVIS(DATO(ÅR(NU());MIDT(A1;3;2);VENSTRE(A1;2))<=NU();MIDT(A1;5;2)+HVIS(VENSTRE(HØJRE(A1;4);1)*1<=3;1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1<=36);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1>=37);1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1<=57);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1>=58);1800;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=9;MIDT(A1;5;2)*1<=36);2000+MIDT(A1;5;2);1900))))))-1;MIDT(A1;5;2)+HVIS(VENSTRE(HØJRE(A1;4);1)*1<=3;1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1<=36);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1>=37);1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1<=57);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1>=58);1800;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=9;MIDT(A1;5;2)*1<=36);2000+MIDT(A1;5;2);1900))))))) |
Hvis du har et CPR-nummer, i A1 og en specifik dato i B1, kan du beregne personens alder på datoen som er angivet i B1 ved at bruge denne formel.
Formlen kan finde alder på alle personer som er født i 1858 og efter.
Husk at cellen med formlen skal formateres som 'Standard' eller 'Tal'.
Bemærk at CPR-numre helst skal formateres som tekst, da Excel ikke accepterer tal som starter med 0
Alternativt kan du ved hjælp af en formel, sætte et 0 foran ved at bruge formlen =HVIS(LÆNGDE(A1)=9;"0"&A1;A1)
Formater som xxxxxx-xxxx og xxxxxxxxxx kan beregnes.
=ÅR(B1)-1-HVIS(DATO(ÅR(B1);MIDT(A1;3;2);VENSTRE(A1;2))<=B1;MIDT(A1;5;2)+HVIS(VENSTRE(HØJRE(A1;4);1)*1<=3;1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1<=36);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1>=37);1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1<=57);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1>=58);1800;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=9;MIDT(A1;5;2)*1<=36);2000+MIDT(A1;5;2);1900))))))-1;MIDT(A1;5;2)+HVIS(VENSTRE(HØJRE(A1;4);1)*1<=3;1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1<=36);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=4;MIDT(A1;5;2)*1>=37);1900;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1<=57);2000;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1>=5;VENSTRE(HØJRE(A1;4);1)*1<=8;MIDT(A1;5;2)*1>=58);1800;HVIS(OG(VENSTRE(HØJRE(A1;4);1)*1=9;MIDT(A1;5;2)*1<=36);2000+MIDT(A1;5;2);1900))))))) |
Hvis du har personens fødselsdagto i A1, kan du beregne personens alder i år, måneder og dage.
Resultatet kunne være 44 år, 3 måneder og 4 dage.
=DATO.FORSKEL(A1;NU();"y")&" år, "&DATO.FORSKEL(A1;NU();"ym")&" måneder og " &DATO.FORSKEL(A1;NU();"md") & " dage" |
Korrekt Dansk Ugenummer er ikke så nemt at finde, specielt i ældre udgaver af Excel.
Vil du være sikker på at din formel virker uanset Excel-version, bør du bruge en formel som denne.
Brug denne formel og du vil altid have det rigtige ugenummer.
I Excel 2007 og nyere er den nemt nok, for der kan du bare bruge denne formel
=UGE.NR(A1;21) |
I Excel 2003 og ældre, vil denne formel kunne bruges:
=1+HELTAL((A1-DATO(ÅR(A1+4-UGEDAG(A1+6));1;5)+UGEDAG(DATO(ÅR(A1+4-UGEDAG(A1+6));1;3)))/7) |
At finde årstallet for ugenummeret, er ikke så nemt som man skulle tro.
Har du et datasæt over flere år og ønsker at tilføje kolonner for år og ugenummer, vil du løbe ind i problemet med uge 52 og uge 53.
De sidste uger på året strækker sig nemlig ind i det efterfølgende kalenderår efter følgende system.
Den uge som indeholder årets første 4 dage, er uge 1. Populært sagt er uge 1 altid den uge med den første torsdag.
Ugen før er årstals-mæssigt placeret året før, selvom datoen indikerer at det ikke er tilfældet.
Et eksempel på dette er at den 1 januar 2017 lå i uge 52 2016.
I Excel 2007 og nyere kan du bruge denne formel, som ved den 01-01-2017 vil give resultatet 2016 52.
=HVIS(UGE.NR(A1;21)=1; HVIS(MÅNED(A1)=12; ÅR(A1)+1; ÅR(A1)); ÅR(A1-UGEDAG(A1)-2)) & " " & TEKST(UGE.NR(A1;21); "00") |
Har du ugenummeret og årstallet, og vil du gerne have datoen på en specifik ugedag i ugen, er dette den rigtige formel for dig.
Denne formel finder mandag i en specifik uge. Du kan selv ændre ugedagen du søger efter, ved at ændre +1 bagerst i formlen til +2 for tirdag, +3 for onsdag osv.
Skriv årstal i A1 og ugenummer i A2. Så formlen ind i fx A3
=DATO(A1;1;-3)-UGEDAG(DATO(A1;1;3);1)+(A2*7)+1 |
Hvilket kvartal hører datoen i A1 til?
Brug denne formel og se at f.eks. 01-04-2011 befinder sig i 2. kvartal 2011.
=RUND.OP(MÅNED(A1)/3;0)&". Kvartal " & ÅR(A1) |
Har du brug for at vide hvilken ugedag en given dato er, så prøv med denne formel.
Resultatet kunne være: mandag.
=TEKST(A1; "dddd") |
Kan også bruges til at finde måneden.
Formlen vil skrive måneden, f.eks april
=TEKST(A1; "mmmm") |
Påsken falder hvert eneste år, men det er ikke så nemt at beregne hvornår denne dato ligger.
Beregningen for at finde påske hedder Computus. Beregningen finder første søndag, efter den første fuldmåne, efter den 21. marts. (som normalt er forårsjævndøgn) Ikke så nemt vel?
Skriv årstal i A1 set formlen ind i fx A1, så får du datoen for påske dag den angivne år. (husk at formattere cellen som dato)
=AFRUND.GULV(DAG(MINUT(A1/38)/2+56)&"/5/"&A1;7)-34 |