Avatar billede hbl Nybegynder
29. maj 2007 - 22:18 Der er 3 kommentarer

fra et cpr.nr. og en dato udregne en konkret alder.

Jeg har behov for at kunne udtrække en fødselsdato af et cpr.nr. og sammenholde det med en dato, og på den måde udregne en alder eks. 52,7 år.
Jeg modtager disse cpr.nr. med meget tilfældig formattering: med bindestreg og alle 10 cifre. med bindestreg og kun 9 cifre på dem der er født i intervallet 01. - 09.
uden bindestreg med 10 og 9 cifre.
Det har jeg imidlertid løst, ved at måle antal positioner.
Det svære er så, at det jeg trækker ud kan jeg ikke umiddelbart trække fra en dato, således jeg får et antal år.
Standard format    . uddrag af cpr.nr. 010154 dato 010107 = ved brug af år.brøk 0,130555
Standard format    . uddrag af cpr.nr.01.01.54 data 01.01.07 = ved brug af år.brøk # værdi
Standard format    . uddrag af cpr.nr 01-01-57 ændres automatisk til 01.01.54 og dato 01-01-07 ændres automatisk til 01.01.07 = ved brug af år.brøk 50
ændres 01.01.07 til 01.07.07 ændres resultatet til 50.01666??
formatet ændres til dato. 01.01.07
og bruges udtræk fra cpr.nr. 010154 og dato 010107 = 0,13.0555
Jeg er totalt forvirret omkring brug af disse dato - kan nogen hjælpe mig.

MVH
HHB
Avatar billede knirkeline Nybegynder
30. maj 2007 - 08:26 #1
Denne formel kan klare det hele på én gang. Den fjerner bindestreg og punktummer i cprnumrene, tjekker om det er på 9 eller 10 karakterer og udregner alderen ud fra dags dato og cprnummeret i celle A1

=ÅR.BRØK(HVIS(LÆNGDE(VÆRDI(UDSKIFT(UDSKIFT(A1;".";"");"-";"")))=10;DATO(MIDT(VÆRDI(UDSKIFT(UDSKIFT(A1;".";"");"-";""));5;2);MIDT(VÆRDI(UDSKIFT(UDSKIFT(A1;".";"");"-";""));3;2);VENSTRE(VÆRDI(UDSKIFT(UDSKIFT(A1;".";"");"-";""));2));DATO(MIDT(VÆRDI(UDSKIFT(UDSKIFT(A1;".";"");"-";""));4;2);MIDT(VÆRDI(UDSKIFT(UDSKIFT(A1;".";"");"-";""));2;2);VENSTRE(VÆRDI(UDSKIFT(UDSKIFT(A1;".";"");"-";""));1)));IDAG())
Avatar billede hbl Nybegynder
30. maj 2007 - 10:42 #2
Kære Knirkelinie
Det virker - jeg har tjekket cpr.nr. der er standardformatteret, tekstformatteret, personnr. formatteret, og brugerformatteret - med og uden bindestreg - cpr. der starter 01 og 12 - alt virker. super godt.
Du får pointene.
Tilbage står så at jeg har tilsvarende udfordring med fødselsdato.
Din model virker også på fødselsdato: 010146 angiver 61 år - 10146 angiver 61 år begge standardformatteret. Men indsætter jeg 01.01.46 eller 01.01.1946 ændre excl selv standardformatteringen til dato formattering, og resultatet bliver 98 år.
Er cellen datoformatteret og jeg indtaster 01.01.46 ændres til det til 11.10.27 men resultatet bliver fortsat korrekt 61 år.
jeg har faktisk forskellige måder at modtage en fødselsdato på og her er det mest alm.: 10146 010146 1011946 01011946 1.01.46 1.01.1946 01.01.46 01.01.1946 1-01-46
01-01-46 1-01-1946 01-01-1946
hvis det er dig muligt at løse dette problem, med noget der ligner den anden formel vil det være helt super.

HÅber du gider - jeg opretter dette som et selvstændigt spørgsmål og du kan så svarer, men giv mig evt. et praj, tilnår du er parat, så evt. ingen anden tager det

Mvh
HHB
Avatar billede knirkeline Nybegynder
30. maj 2007 - 13:29 #3
Hej HHB

Nu har jeg også en formel til at udregne alderen fra en fødselsdato!

vh
Joan
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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