Print side | Luk vindue

Omregne cpr.nr. til alder

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Formler
Forum beskrivelse: Hjælp til formler i regneark og/eller brugen af disse.
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=874
Udskrevet den: 22.Nov.2024 kl. 02:46


Emne: Omregne cpr.nr. til alder
Besked fra: Team CIA
Emne: Omregne cpr.nr. til alder
Posteringsdato: 05.Sep.2012 kl. 14:40
Jeg vil gerne omregne cpr.nr. til alder! Cellen med cpr.nr. er formatteret som tekst og uden bindestreg!



Svar:
Besked fra: Allan
Posteringsdato: 06.Sep.2012 kl. 09:39
Hej Team CIA,
 
Kig eventuelt her for flere formler til beregning af alder og CPR: https://www.excel-regneark.dk/dato-tid-formler - Formler til beregning af tid, perioder og alder i Excel
 
Hvis du har CPR i A1 vil denne formel kunne bruges:
Bemærk at maksimumalder i denne formel er 99
 
=DATO.FORSKEL(DATO(HVIS(MIDT(A1;5;2)<=HØJRE(ÅR(IDAG());2);"20"&MIDT(A1;5;2);MIDT(A1;5;2));MIDT(A1;3;2);VENSTRE(A1;2));NU();"y")
 
//Allan


Besked fra: Team CIA
Posteringsdato: 06.Sep.2012 kl. 10:39
Smile hurtig reaktion - det virker, selvfølgelig - 1000 tak for hjælpen!


Besked fra: Allan
Posteringsdato: 06.Sep.2012 kl. 13:12
Velbekomme og tak for din tilbagemelding Wink
 
//Allan


-------------
MVH

Allan
https://www.excel-regneark.dk" rel="nofollow - Excel-regneark.dk - Gratis skabeloner til Excel
Få over 120 ekstra funktioner med Danmarks bedste add-in


Besked fra: Team CIA
Posteringsdato: 06.Sep.2012 kl. 13:17
Så kommer der lige et nyt spørgsmål - du ved, når man rækker f..... lillefingeren!
Hvis nu alderen ikke skal regnes ud fra dags dato, men en anden specifik dato, der står i en anden celle?


Besked fra: Allan
Posteringsdato: 06.Sep.2012 kl. 15:13
Hej igen,
 
Du erstatter bare NU() i formlen med en cellereference.
 
Hvis du har CPR i A1 og den specifikke dato i B1, kan du bruge:
=DATO.FORSKEL(DATO(HVIS(MIDT(A1;5;2)<=HØJRE(ÅR(IDAG());2);"20"&MIDT(A1;5;2);MIDT(A1;5;2));MIDT(A1;3;2);VENSTRE(A1;2));B1;"y")
 
//Allan


Besked fra: Team CIA
Posteringsdato: 07.Sep.2012 kl. 11:31
Handshake fantastisk - rigtig god weekend!


Besked fra: Allan
Posteringsdato: 07.Sep.2012 kl. 12:25
Tak i lige måde
 
//Allan


Besked fra: Team CIA
Posteringsdato: 12.Sep.2012 kl. 09:21
Hej igen - håber ikke, at jeg spørger for meget!
Jeg har fået et regneark tilsendt fra en anden og når jeg vil sætte formlen ind i det regneark, så viser cellen bare formlen!
Jeg kopierede alle de aktuelle data og satte dem ind i et nyt regneark, fordi det jeg fik var en ældre version!
Men der sker det samme - formlen omregner ikke! Selvom formlen er tjekket og der refereres til de rigtige celler!
Cry


Besked fra: Allan
Posteringsdato: 12.Sep.2012 kl. 11:03
Hej igen,
 
Jeg vil gætte på at cellen er formateret som tekst, derved vises formlen som alm. tekst og kan ikke beregne.
 
Inden du sætter formlen ind, så sørg for at cellen er formatteret som standard.
 
//Allan


Besked fra: AlfaHun
Posteringsdato: 13.Sep.2012 kl. 11:20

Hej

Er det muligt at få formlen på engelsk ?

hvad hvis der er en kollonne dd-mm-yyyy og den skal udregnes til år og månder (ancinnitet)

Fantastisk side i øvrigt ;o)



Besked fra: Allan
Posteringsdato: 13.Sep.2012 kl. 14:47
 
Hej AlfaHun,
 
Oversat til engelsk (Bemærk at seperatorerne kan være hhv. komma eller semikolon, jeg har valgt komma det det er standard i engelske versioner)
=DATEDIF(DATE(IF(MID(A1,5,2)<=RIGHT(YEAR(TODAY()),2),"20"&MID(A1,5,2),MID(A1,5,2)),MID(A1,3,2),LEFT(A1,2)),B1,"y")
 
//Allan


Besked fra: Allan
Posteringsdato: 13.Sep.2012 kl. 15:21
Ooog anciennitet kan beregnes på følgende måde:
Dato for ansættelse skal være i A1
 
Dansk:
=DATO.FORSKEL(A1;NU();"y")&" år og "&DATO.FORSKEL(A1;NU();"m")-DATO.FORSKEL(A1;NU();"y")*12&" måneder"
 
Og på engelsk:
=DATEDIF(A1,NOW(),"y")&" år og "&DATEDIF(A1,NOW(),"m")-DATEDIF(A1,NOW(),"y")*12&" måneder"
 
//Allan


Besked fra: Controller_Jesper
Posteringsdato: 13.Nov.2012 kl. 19:47
Er der nogen her der kender en formel der kan cpr. når der ikke er nul foran datoer som begynder fx. 01 og formatet derfor er med 9 cifre og 10 cifre i resten. Derudover er formatet uden bindestreg.


Besked fra: Allan
Posteringsdato: 14.Nov.2012 kl. 14:02
Hej Jesper,
 
Hvis det er personens alder du vil finde, har du ret... ovenstående formel kan ikke finde alderen hvis CPR starter med 0
Der er 2 måde du kan gøre det på.
 
1. Formater cellen med CPR som tekst, så kan du taste hele CPR-nummeret inkl. det foranstillede 0
2. En modificeret formel som tager højde for dette.
=HVIS(LÆNGDE(A1)=12;DATO.FORSKEL(DATO(HVIS(MIDT(A1;5;2)<=HØJRE(ÅR(IDAG());2);"20"&MIDT(A1;5;2);MIDT(A1;5;2));MIDT(A1;3;2);VENSTRE(A1;2));NU();"y");DATO.FORSKEL(DATO(HVIS(MIDT(A1;4;2)<=HØJRE(ÅR(IDAG());2);"20"&MIDT(A1;4;2);MIDT(A1;4;2));MIDT(A1;2;2);VENSTRE(A1;1));NU();"y"))
 
//Allan
 
 


Besked fra: Controller_Jesper
Posteringsdato: 14.Nov.2012 kl. 17:04
Hej Allan
 
Det er jo genialt det der.
 
Jeg har indsat en cellereference som "B2", som er min referencedato, når jeg skal regne på en persons alder på et givent tidspunkt tilbage i tid, hvor så datoen i cellen "B2"erstatter formlens to steder med instruktionen "NU" - det kommer så til at se sådan ud:
 
=HVIS(LÆNGDE(A2)=12;DATO.FORSKEL(DATO(HVIS(MIDT(A2;5;2)<=HØJRE(ÅR(B2());2);"20"&MIDT(A2;5;2);MIDT(A2;5;2));MIDT(A2;3;2);VENSTRE(A2;2));B2();"y");DATO.FORSKEL(DATO(HVIS(MIDT(A2;4;2)<=HØJRE(ÅR(B2);2);"20"&MIDT(A2;4;2);MIDT(A2;4;2));MIDT(A2;2;2);VENSTRE(A2;1));B2;"y"))
 
Der, hvor personnumrene i min liste begynder at være på ti cifre, det vil sige de personnumre, som begynder med 1 og så fremdeles, der regner ovenstående formel forkert, men jeg tænker man må anvende to formler, når man har at gøre med en liste med personnumre, hvor de numre, som begynder med nul, er på ni cifre og hvor numre, der begynder med 1 og opefter er på 10 cifre.
 
Mon der kan laves formel, der kan uddrage alderen fra cpr.nr. når der både er personnumre på 9 og ti cifre - listen er formateret som tekst. Formlen skal så kunne bestemme antallet af cifre i personnummeret for dernæst at beregne alderen med hver sit sæt af instruktioner. Det kunne jo være :-)
 
Mange tak for hjælpen!
 
Vh
Jesper


Besked fra: Allan
Posteringsdato: 16.Nov.2012 kl. 10:34
Ahh, min fejl.
Prøv denne i stedet.
 
=HVIS(LÆNGDE(A2)=10;DATO.FORSKEL(DATO(HVIS(MIDT(A2;5;2)<=HØJRE(ÅR(B2());2);"20"&MIDT(A2;5;2);MIDT(A2;5;2));MIDT(A2;3;2);VENSTRE(A2;2));B2();"y");DATO.FORSKEL(DATO(HVIS(MIDT(A2;4;2)<=HØJRE(ÅR(B2);2);"20"&MIDT(A2;4;2);MIDT(A2;4;2));MIDT(A2;2;2);VENSTRE(A2;1));B2;"y"))
 
//Allan


Besked fra: Controller_Jesper
Posteringsdato: 22.Nov.2012 kl. 20:31
hej Allan

Mange tak for hjælpen!


Besked fra: Allan
Posteringsdato: 23.Nov.2012 kl. 09:58
Velbekomme Jesper Wink
 
//Allan


-------------
MVH

Allan
https://www.excel-regneark.dk" rel="nofollow - Excel-regneark.dk - Gratis skabeloner til Excel
Få over 120 ekstra funktioner med Danmarks bedste add-in



Print side | Luk vindue