Avatar billede sssssss Juniormester
24. marts 2021 - 14:30 Der er 9 kommentarer

cpr nr til alder i excel

Er der nogen ved hvordan man omdanner et cpr nummer til en alder i excel?
Jeg har fundet følgende formel til at omdanne et cpr nr der har 10 cifre:

=DATO.FORSKEL(DATO(MIDT(A1;5;2)+1900;MIDT(A1;3;2);VENSTRE(A1;2));IDAG();"y")

Problemet er bare at nogle cpr numre jo starter med 0 som bliver ikke bliver skrevet med i excel og dermed virker ovenstående formel ikke.

Ps. hvis jeg gerne vil have deres alder fra en bestemt data, fx. 1/4/20 kan jeg så indtaste det på nogen måde i formlen?
Avatar billede jakobdo Ekspert
24. marts 2021 - 14:42 #1
Du kunne kigge på denne funktion: https://da.wikipedia.org/wiki/CPR-nummer

Modulus11, den kan desværre ikke bruges på alle cprnumre længere, men den burde kunne give dig svar om årstal er 18XX, 19XX eller 20XX

Og kunne du ikke "bare" starte bagfra?
Så kan du til sidst læse "sidste" del af nummeret som et eller 2 tal ?
Avatar billede sssssss Juniormester
24. marts 2021 - 15:00 #2
Jeg fandt følgende formel som virker:

=DATO.FORSKEL(DATO(HVIS(OG(ELLER(VENSTRE(HØJRE(A2;4);1)*1>4;VENSTRE(HØJRE(A2;4);1)*1<=9);VENSTRE(HØJRE(A2;6);2)*1<37);2000;HVIS(OG(VENSTRE(HØJRE(A2;4);1)*1>4;VENSTRE(HØJRE(A2;6);2)*1>57);1800;1900))+(VENSTRE(HØJRE(A2;6);2)*1);VENSTRE(HØJRE(A2;8);2)*1;VENSTRE(TEKST(A2;"0000000000");2))*1;IDAG();"y")

Men hvis jeg gerne vil have alderen fra en bestemt dato, hvordan skriver jeg det så ind i formlen korrekt?
Hvis jeg gerne vil vide hvad deres alder var fx. 1/4/2020?
Avatar billede jakobdo Ekspert
24. marts 2021 - 15:02 #3
=DATO:FORSKEL("1/4/20202";IDAG();"Y") gætter jeg på.
Avatar billede sssssss Juniormester
24. marts 2021 - 15:13 #4
Hvor skal det skrives ind i min formel?
Avatar billede jakobdo Ekspert
24. marts 2021 - 15:16 #5
Ahh, du mener på den dato.
Så skal du rette IDAG(); til den ønskede dato.
Avatar billede sssssss Juniormester
24. marts 2021 - 15:24 #6
Du bliver lige nødt til at skære det ud i pap for mig, hvordan skal jeg præcist skrive datoen ind? og skal jeg så erstatte "IDAG()" med datoen eller skal den fortsat stå der?
Avatar billede jakobdo Ekspert
24. marts 2021 - 16:53 #7
=DATO.FORSKEL(DATO(HVIS(OG(ELLER(VENSTRE(HØJRE(A2;4);1)*1>4;VENSTRE(HØJRE(A2;4);1)*1<=9);VENSTRE(HØJRE(A2;6);2)*1<37);2000;HVIS(OG(VENSTRE(HØJRE(A2;4);1)*1>4;VENSTRE(HØJRE(A2;6);2)*1>57);1800;1900))+(VENSTRE(HØJRE(A2;6);2)*1);VENSTRE(HØJRE(A2;8);2)*1;VENSTRE(TEKST(A2;"0000000000");2))*1;<INDSÆT DATO HER>;"y")

Og jeg er ikke sikker på hvilket format DATO skal være, men det må du lige teste.

Om det skal være:

1/4/2020, "1/4/2020" eller andet.
Avatar billede sssssss Juniormester
24. marts 2021 - 19:11 #8
Det virkede! Tak for hjælpen. Og formatet er forresten "1-4-20".
Avatar billede Dorthe Novice
06. februar 2023 - 14:38 #9
Der må være en fejl i formlen angivet i #2. Formlen virker på mange cpr. nr. men jeg har prøvet nogle random hvor den ikke virker. Jeg kan ikke finde ud af hvorfor. Her er par random genererede cpr. nr. hvorpå formlen ikke virker:
1411264378
1411351346
Det er som om, at koblingen af visse fødselsår og de sidste fire chifre får formlen til at drille.

Jeg leder med lys og lygte efter en pålidelig formel, som beregner alder ud fra cpr. nr. Den må gerne virke hvad enten, der er foranstillet nul eller ej (når fødselsdagen er mellem 01 og 09, og hvad enten der er bindestreg eller ej.
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