Avatar billede thewizard Nybegynder
26. februar 2008 - 01:19 Der er 7 kommentarer og
1 løsning

Funktion som beregner alder ud fra CPR nr.

CPR = 051084
Resultat: 23

Kan nogen give mig svaret? Har kigget rundt på nogen resultater, men mange af dem giver forkert svar, osv osv. Kan vi slå en funktion fast?

Skal bruge det til bachelor, så smider 200 point ;).

Skal bruge funktionen i excel - så en funktion burde kunne gøre det. Håber nogen kan hjælpe.
Avatar billede arne_v Ekspert
26. februar 2008 - 02:54 #1
Function age(cpr6 As String) As Integer
    Dim yy, mm, dd, res As Integer
    yy = CInt(Mid(cpr6, 5, 2))
    mm = CInt(Mid(cpr6, 3, 2))
    dd = CInt(Mid(cpr6, 1, 2))
    res = (DatePart("yyyy", Now()) - yy) Mod 100
    If (DatePart("m", Now()) < mm) Or ((DatePart("m", Now()) = mm) And (DatePart("d", Now()) < dd)) Then res = res - 1
    age = res
End Function
Avatar billede arne_v Ekspert
26. februar 2008 - 02:54 #2
Det kan sikkert laves pænere, men det var lige hvad jeg kunne komme på.
Avatar billede thewizard Nybegynder
26. februar 2008 - 20:18 #3
Tak arne, jeg prøver lige at lægger det i excel i morgen. :). Så giver jeg dig svar.
Avatar billede thewizard Nybegynder
27. februar 2008 - 18:32 #4
arne_v bare læg svar :).
Avatar billede arne_v Ekspert
27. februar 2008 - 18:38 #5
kommer her
Avatar billede thewizard Nybegynder
28. februar 2008 - 10:51 #6
arne_v  - hvis du stadig læser her, og er interesseret;

Jeg smed:
If Len(cpr) = 5 Then
    cpr = "0" & cpr
End If
Avatar billede thewizard Nybegynder
28. februar 2008 - 10:51 #7
... på, fordi den ville reducere "041184" til 41184
Avatar billede arne_v Ekspert
28. februar 2008 - 15:23 #8
Ja + de mid kald forudsaetter ligesom at der er 6 tegn.

Hvis du har cpr som integer og ikke som string kunne man ogsaa bruge ' og mod til
at beregne yy, mm og dd.
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
Kurser inden for grundlæggende programmering

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