Avatar billede laurbjerg Nybegynder
02. august 2012 - 14:01 Der er 10 kommentarer og
1 løsning

alder udfra cpr nr

hej

er der en der har en formel der kan regne alderen ud, udfra cpr nr.
Avatar billede Thorp Praktikant
02. august 2012 - 14:10 #1
Prøv denne hvor CPR nr står i Celle A2.

=HVIS(OG(VÆRDI(MIDT(A2;8;1))<4;ELLER(VÆRDI(MIDT(A2;5;2))<37;OG(VÆRDI(MIDT(A2;5;2))>36;VÆRDI(MIDT(A2;5;2))<58);OG(VÆRDI(MIDT(A2;5;2))>57;VÆRDI(MIDT(A2;5;2))<100)));VÆRDI(MIDT(A2;5;2))+1900;HVIS(OG(VÆRDI(MIDT(A2;8;1))=4;VÆRDI(MIDT(A2;5;2))<37);VÆRDI(MIDT(A2;5;2))+2000;HVIS(OG(VÆRDI(MIDT(A2;8;1))=4;OG(VÆRDI(MIDT(A2;5;2))>36;VÆRDI(MIDT(A2;5;2))<100));VÆRDI(MIDT(A2;5;2))+1900)))
Avatar billede laurbjerg Nybegynder
02. august 2012 - 14:53 #2
>erikjuul......formatet på cpr nr er 050564....med celleformat 000000
02. august 2012 - 14:40 #3
Det kommer an på formatet på dit CPR-nr.

Denne formel kan ud fra et numerisk CPR-nummer i A1 og dags dato i A2 beregne alderen for personer født i det 20. århundrede.

=DATO.FORSKEL(DATO(MIDT(HVIS(LÆNGDE(A1)=9;"0" &A1;A1);5;2)+1900;MIDT(HVIS(LÆNGDE(A1)=9;"0" &A1;A1);3;2);VENSTRE(HVIS(LÆNGDE(A1)=9;"0" &A1;A1);2));A2;"y")

Kræver en lille tilføjelse hvis også der skal beregnes korrekt for personer født i det 21. århundrede. Vend tilbage med formatet på CPR-nummeret.
02. august 2012 - 14:59 #4
Så burde ovennævnte formel fungere, som beskrevet. Har du testet.

Referencen til A2 kan uden videre ændres til IDAG(), hvis det altid er i forhold til dags dato, der skal beregnes.
Avatar billede laurbjerg Nybegynder
02. august 2012 - 15:01 #5
ja....udfra fra ovennævnte cpr nr og dags dato kommer den frem til alder på 134 :-/

så et eller andet går galt.....det eneste jeg har ændret er felterne hvor dato og cpr nr står
Avatar billede laurbjerg Nybegynder
02. august 2012 - 15:08 #6
har dato i n1 og cpr nr i p2...og bruger nedenstående formel:

=DATO.FORSKEL(DATO(MIDT(HVIS(LÆNGDE(P2)=9;"0" &P2;P2);5;2)+1900;MIDT(HVIS(LÆNGDE(P2)=9;"0" &P2;P2);3;2);VENSTRE(HVIS(LÆNGDE(P2)=9;"0" &P2;P2);2));N1;"y")
02. august 2012 - 15:14 #7
Du skriver kun de første 6 cifre. Hvad med resten? Er det med eller uden bindestreg?

Det er nødvendigt at vide hvor det 7. ciffer i CPR-nummeret står.

Med dit eksempel '050564' giver min formel 48 år. Hvilket vist passer meget godt.

Hvis alle 10 cifre altid indgår i CPR-nummeret kan formlen afkortes til:
=DATO.FORSKEL(DATO(MIDT(A1;5;2)+1900;MIDT(A1;3;2);VENSTRE(A1;2));IDAG();"y")
Avatar billede laurbjerg Nybegynder
02. august 2012 - 15:18 #8
jeg bruger kun de 6 første i cpr nr.

uden bindestreg, men med celleformaat således at jeg får et 0 med i starten

men får stadig forkert alder
02. august 2012 - 15:31 #9
Hvis du kun har de første 6 cifre er det IKKE et CPR-nummer, og du kan ikke beregne den nøjagtige alder for alle. Det er det 7. cifre i CPR-nummeret der fortæller, hvilket århundrede personen er født i. Min ovennævnte formel vil således kun beregne korrekt i de situationer hvor personen er født i det 20-århundrede.

Hvis det er et brugerdefineret format, der tilføjer et foranstillet '0', skal du anvende den lange version af min formel, da det ekstra '0' kun er kosmetisk, og ikke en del af celleindholdet.

Da du ikke arbejder med CPR-numre men en numerisk værdi for an dato, skal formlen selvfølgelig tage højde for at celleindholdet er hhv. 5 eller 6 cifre - og ikke hhv. 9 eller 10 cifre som i et CPR-nummer.
=DATO.FORSKEL(DATO(MIDT(HVIS(LÆNGDE(A1)=5;"0" &A1;A1);5;2)+1900;MIDT(HVIS(LÆNGDE(A1)=5;"0" &A1;A1);3;2);VENSTRE(HVIS(LÆNGDE(A1)=5;"0" &A1;A1);2));A2;"y")
Avatar billede laurbjerg Nybegynder
03. august 2012 - 08:23 #10
>erikjuul.......super....ved ikke hvilken af dem jeg bruger endnu...men tak for hjælpen...smider du lige et svar
05. august 2012 - 20:29 #11
OK, det får du her!
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