12. december 2013 - 12:41Der er
3 kommentarer og 1 løsning
CPR-nummer
Kære Eksperten brugere
Jeg sidder med et problem, da jeg skal lave et excelark til kørselsgodtgørelse, som skal være "idiotsikkert".
Det skal være sådan, at udfylderen i en celle skal skrive sit CPR-nummer.
Dette må dog kun skrives på følgende to måder
Eksempel 1:
xxxxxxxxxx
Eksempel 2:
xxxxxx-xxxx
Hvis der eksempelvis bliver skrevet bogstaver eller andre tegn end -, så skal en fejlmeddelelse poppe op. Der skal ligeledes være en fejlmeddelelse, hvis bindestregen bliver placeret andre steder end imellem ciffer 6 og 8.
Det skal derimod være sådan, at den automatisk laver det om hvis man skriver xxxxxxxxxx til xxxxxx-xxxx.
Derud over skal der naturligvis komme en fejlmeddelelse, hvis der bliver skrevet mindre end 10 tegn og mere end 11 tegn. Samt en fejlmeddelse, hvis de 10 tegn ikke udelukkende er numeriske.
Jeg har skrevet en berigtigelse af mit svar i dit oprindelige spørgsmål.
Den korrekte formatering er: 000000-0000
Så vises foranstillede nuller også!
Hvis du kan bruge dette, vil jeg anbefale at du selv lægger et svar i dette spørgsmål, og acceterer det.
Synes godt om
Slettet bruger
13. december 2013 - 10:23#2
Er det helt uacceptabelt for dig at kræve, at indtastningen skal være uden bindestreg? Tilladelse af bindestreg gør det uhyre meget mere kompliceret og efter min bedste overbevisning uegnet for en Excel-løsning.
Jeg er ikke sikker på, at jeg er enig med Hans her. :-) CPR har ét format og det er ddmmåå-LLLL.
Derfor er det at drive vold på et anderkendt format, at tillade brugerne at skrive noget andet. Når man bruger flere formater end det ene, så giver det andre følgeproblemer. Det giver mig store problemer med mit arbejde i det daglige at nogle synes at CPR uden bindestreg er smart.
Jeg foreslår at du indsætter en streng, der tjekker for en lille håndfuld ting.
Nedenstående tjekker følgende: Der er "-" på den 7. plads Der er 11 karakterer De 2 første karakterer er mindre end 32 De 2 næste karakterer er mindre end 13. Hvis kriteriet er opfyldt, så sker der ingenting. Hvis der er fejl i et af kriterierne, så: "nej, formatet er forkert. Du skal bruge DDMMÅÅ-LLLL" Jeg antager at værdien står i A1, så der hvor der står A1 skal du selv ændre.
Den er ikke smuk, men den virker.
=IF(LEN(A1)=11;IF(LEFT(A1;2)<="31";IF(MID(A1;3;2)<="12";IF(MID(A1;7;1)="-";"";"nej, formatet er forkert. Du skal bruge DDMMÅÅ-LLLL");"nej, formatet er forkert. Du skal bruge DDMMÅÅ-LLLL");"nej, formatet er forkert. Du skal bruge DDMMÅÅ-LLLL");"nej, formatet er forkert. Du skal bruge DDMMÅÅ-LLLL")
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.