Avatar billede Erik R Mester
11. november 2024 - 12:31 Der er 10 kommentarer og
1 løsning

Konvertering af tekst (cpr.-nr.) til tal (formateret som dato)

I fx celle D2 er indtaster cpr-nummeret 031205-2436
Hvilken formel kan jeg indtaste i celle D3 for at få vist fødselsdatoen som tal i datoformat - fx:  lør. 3. dec. 2005
På forhånd tak for hjælp
Erik R.
Avatar billede kim1a Ekspert
11. november 2024 - 12:58 #1
=date(year(mid(D2;5;2));month(mid(d2;3;2));day(left(d2;2)))
Jeg bruger engelske formler. Bemærk der måske kan være noget med 19xx og 20xx i første del)
Avatar billede MaxZpaD Guru
12. november 2024 - 08:39 #2
Denne formel har også ugedagen med, fx "lør.":

=VÆLG(UGEDAG(DATOVÆRDI(TEKST(TEKSTFØR(D2;"-");"00-00-00"));11);"man.";"tir.";"ons.";"tor.";"fre.";"lør.";"søn.")&" "&TEKST(DATOVÆRDI(TEKST(TEKSTFØR(D2;"-");"00-00-00"));"d. mmm. åååå")
Avatar billede MaxZpaD Guru
12. november 2024 - 08:51 #3
Hvis din Excel-version understøtter LET-funktionen, kan formlen gøres lidt kortere:

=LET(dato;DATOVÆRDI(TEKST(TEKSTFØR(D2;"-");"00-00-00"));VÆLG(UGEDAG(dato;11);"man.";"tir.";"ons.";"tor.";"fre.";"lør.";"søn.")&" "&TEKST(dato;"d. mmm. åååå"))

Som kim1a også bemærker i #1, er der ikke taget højde for CPR-numre, hvor personer er 100 år eller ældre, fordi årstallet i CPR kun består af to cifre. Hvis der er en metode til at skelne imellem 19xx og 20xx, så kender jeg den ikke.
Avatar billede kim1a Ekspert
12. november 2024 - 09:27 #4
At få lørdag med, er vel blot et spørgsmål om formattering når først den er sat som en dato.
Avatar billede MaxZpaD Guru
12. november 2024 - 09:35 #5
#4 - Det har du da helt ret i :-) Havde lige overset, at "ddd" som dagsformat faktisk giver ugedagen i 2-bogstavsformat.

=TEKST(DATOVÆRDI(TEKST(TEKSTFØR(D2;"-");"00-00-00"));"ddd. d. mmm. åååå")
Avatar billede MaxZpaD Guru
12. november 2024 - 09:41 #6
#4 - Kan selvfølgelig også defineres i celleformateringen. Tænker, det er det, du mener.
Avatar billede Dan Elgaard Ekspert
12. november 2024 - 12:36 #7
#3: Det er første ciffer i løbenummeret, der bestemmer om årstallet i et CPR-nummer er 1800, 1900 eller 2000.

Systemet er forklaret på Wikipedia:
https://da.wikipedia.org/wiki/CPR-nummer
Avatar billede MaxZpaD Guru
12. november 2024 - 12:50 #8
#7 - Tak, Dan :-) Det kunne jeg selvfølgelig selv have Googlet (men var for doven i denne ombæring).
Avatar billede Erik R Mester
13. november 2024 - 11:18 #9
Tak til kim 1a, MaxZpaD, og Dan Elgaard for nyttige forslag og oplysninger.

Om de foreslåede formler:
=date(year(mid(D2;5;2));month(mid(d2;3;2));day(left(d2;2)))
Hos mig (Excel 2021 og Google Sheet) vælges korrekt ugedag, men som måned vælges konsekvent januar.

Følgende formler virker endnu ikke for mig:
=VÆLG(UGEDAG(DATOVÆRDI(TEKST(TEKSTFØR(D2;"-");"00-00-00"));11);"man.";"tir.";"ons.";"tor.";"fre.";"lør.";"søn.")&" "&TEKST(DATOVÆRDI(TEKST(TEKSTFØR(D2;"-");"00-00-00"));"d. mmm. åååå")

=LET(dato;DATOVÆRDI(TEKST(TEKSTFØR(C40;"-");"00-00-00"));VÆLG(UGEDAG(dato;11);"man.";"tir.";"ons.";"tor.";"fre.";"lør.";"søn.")&" "&TEKST(dato;"d. mmm. åååå"))

=TEKST(DATOVÆRDI(TEKST(TEKSTFØR(D2;"-");"00-00-00"));"ddd. d. mmm. åååå")

Hvis nogen har tid og lyst til at give løsningsforslag i regneark (link herunder), vil det være meget velkomment.
på forhånd tak
Erik

https://docs.google.com/spreadsheets/d/1Ta3JAV3RCPXEBF1lahY_BI_hb16AtLzR7IaDnVTaPlQ/edit?usp=sharing
Avatar billede kim1a Ekspert
13. november 2024 - 12:53 #10
Done, du skulle droppe year, month, day formlen, og bare tage det direkte.
Avatar billede Erik R Mester
13. november 2024 - 14:18 #11
Mange tak for værdifuld hjælp
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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