Avatar billede Per G. Novice
09. marts 2022 - 09:23 Der er 5 kommentarer og
1 løsning

CPR

Er der nogen der ved hvordan jeg ud fra CPR-nr. beregner alder ved leveringstart


CPR-nr - fiktiv    Levering start    Alder ved leveringsstart
       
2 06 46-9999    10-03-2021
Avatar billede anedi Ekspert
09. marts 2022 - 09:41 #1
Du kan fremfinde personens fødselsdato med nedenstående formel, med din dato i A1

=DATO(MIDT(A1;5;2);MIDT(A1;3;2);VENSTRE(A1;2))

Alder kan herefter bestemmes med

=AFRUND.GULV((Leveringsdato - Fødselsdato)/365,25;1)
Avatar billede jens48 Ekspert
09. marts 2022 - 09:55 #2
Ang. #1:
Det vil være mere nøjagtigt for den sidste formel at bruge

=DATO.FORSKEL(Fødselsdato;Leveringsdato;"Å")
Avatar billede store-morten Ekspert
09. marts 2022 - 10:19 #3
Alder på en specifik dato, ved brug af CPR nummer
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)))))))
Avatar billede Per G. Novice
09. marts 2022 - 12:33 #4
Tak for hjælpen :-)
Avatar billede xl-Enthusiast Ekspert
18. juli 2023 - 12:52 #5
@store-morten

Jeg ved det er meget længe siden det her, men spørgsmålet om alder ud fra CPR-nummer kommer op med mellemrum, så måske går det an at tage endnu en runde omkring emnet.
Jeg går ud fra formlen stammer fra din hånd, og vil derfor forsigtigt spørge, om du er sikker på at den regner rigtigt i alle tilfælde. Jeg går ud fra den er bygget op efter de regler der blandt andet fremgår her:

https://da.wikipedia.org/wiki/CPR-nummer

Jeg vil videre henvise til test CPR data her:

https://medcom.dk/standarder/tabeller/nationale-test-cpr-numre/

Her findes blandt andet følgende CPR-nummer: 0212159995

Hvis jeg anvender din formel på dette CPR-nummer får jeg resultatet -8

Har du en kommentar til det?

NB
Jeg prøvede om jeg kunne ændre din formel til i stedet for alder da at vise fødselsdato, men det er hidtil ikke lykkedes mig. Fødselsdato i det her tilfælde skal jo være 02-12-2015.
Avatar billede xl-Enthusiast Ekspert
18. juli 2023 - 12:54 #6
Jeg glemte at henvise til denne tråd

https://www.computerworld.dk/eksperten/spm/1039297
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester