Avatar billede perolsen Novice
14. december 2003 - 08:17 Der er 10 kommentarer og
1 løsning

hjælp til personnummer

Hej
Jeg er ved at lave et program som der skal soter personer efter hvor gamle de er
og efter køn

det skal forgå efter personnummer
hvor en personen der har personnummer 121260-0620 er en kvinde og er 43 år
og en personen der har personnummer 121261-0613 er en mand og er 42 år

er der none der kan hjælpe mig med det og hvordan gør man ?????


Med venlig hilsen
Per Olsen
Avatar billede goaul Praktikant
14. december 2003 - 08:24 #1
jeg ved det ikke, men jeg ved at det er meget få steder på nettet hvor jeg vil opgive mit personnummer.
Avatar billede mugs Novice
14. december 2003 - 09:22 #2
http://www.eksperten.dk/spm/382830

Søg evt. i ekspertens vidensbase med søgeordet alder, så kommer der flere eksempler.
Avatar billede kabbak Professor
14. december 2003 - 10:44 #3
Med cprnummer i Akolonnen og første i A2, så sæt denne formel ind i B2
Det første tal er 0 for kvinder og 1 for mænd, de ander er datoen ÅÅMMDD.
Lav sorteringen på B kolonnen.

=REST(HØJRE(A2;4);2) & MIDT(A2;5;2) & MIDT(A2;3;2) & VENSTRE(A2;2)
Avatar billede kabbak Professor
14. december 2003 - 10:49 #4
med personnummer får du jo et problem når de er født efter år 1999, da personnunner kun indeholder de 2 sidste tal i året.
Avatar billede jkrons Professor
14. december 2003 - 11:05 #5
Denn e funktion beregner alderen af et cpr-nummer og tager også højre for århundredet:

Function CprAlder(cpr As String) As Byte
'JKrons, 2002
'Finder fødsels-århundredet ud af
'et cpr-nummer på formen xxxxxx-xxxx
'Den virker kun indtil 2036, hvor cpr-nummersystemet i
'dets nuværende form ophører med at fungere
'se nærmere på www.cpr.dk
If Not IsNull(cpr) Then

    Dim bytCent As Byte
    Dim bytSevdig As Byte
    Dim bytCpryear As Byte
    Dim bytCprmonth As Byte
    Dim bytCprday As Byte
    Dim strErrtxt As String
    Dim datTemp As Date

   
    strErrtxt = "Der eksisterer ikke lovlige cpr-numre, hvor årstallet er "
    bytSevdig = Mid(cpr, 8, 1)
    bytCpryear = Mid(cpr, 5, 2)
    bytCprmonth = Mid(cpr, 3, 2)
    bytCprday = Mid(cpr, 1, 2)
   
    Select Case bytSevdig
        Case 0 To 3
            bytCent = 19
        Case 4, 9
            If bytCpryear <= 36 Then
                bytCent = 20
            Else
                bytCent = 19
            End If
        Case 5 To 8
            If bytCpryear <= 36 Then
                bytCent = 20
                ElseIf bytCpryear >= 58 Then
                bytCent = 18
                Else
                strErrtxt = strErrtxt & bytCpryear & " og 7. ciffer er " & bytSevdig
                MsgBox strErrtxt, vbOKOnly + vbCritical, "CPR-nummer fejl"
                Exit Function
            End If
           
    End Select

    datTemp = DateSerial(bytCent & bytCpryear, bytCprmonth, bytCprday)

    If datTemp > Date Then
        MsgBox "Den pågældende person er ikke født endnu", vbOKOnly + vbExclamation, "CPR-nummer fejl"
        Exit Function
    End If
   
    If Mid(datTemp, 7, 2) = 18 Then
        CprAlder = Right(DatePart("yyyy", Date - datTemp), 2) + 100
        Else
        CprAlder = Right(DatePart("yyyy", Date - datTemp), 2)
    End If
End If

End Function

Læg den ind i et modul. I arket bruger du den sådan: cpralder(a1), hvor cpr-nummeret står i A1. Dwen forventer at cpr-nummeret er indtastet med bindestreg, fx 121212-1212
Avatar billede perolsen Novice
14. december 2003 - 15:21 #6
hej goaul
programmet eller Excel filen skal ikke bruges på nettet men på en skole så man kan finde ud af hvor mange der er  piger og  hvor mange der er drenge
og om de er over eller under 18 år

hej jkrons
de liner du har skrevet er det til Excel ???  vil du ikke sende en fil så jeg kan prøve det af

Med venlig
Per Olsen
Perolsen@post6.tele.dk
Avatar billede thesurfer Nybegynder
14. december 2003 - 15:24 #7
Avatar billede jkrons Professor
14. december 2003 - 18:38 #8
Jeg har sendt et ark, hvor koden ligger i. Der kode både til beregning af alder og konstatering af køn.
Avatar billede perolsen Novice
14. december 2003 - 19:41 #9
Ikrons du er en gutter mand der er jo lige det jeg skal bruge men kan det også lad sig gøre
at tælle dem sammen så man kan se hvor mange kvinder og mænd der er
Med venlig hilsen
Per Olsen
Avatar billede jkrons Professor
14. december 2003 - 21:27 #10
Der hvor du vil have antal kvinder indsætter du denne formel: TÆL.HVIS(C1:C3;"K")
Udvid selv området til det, der passer til dit rengeark. Indsæt en tilsvarende formel, der tæller antal mænd: TÆL.HVIS(C1:C3;"M")
Avatar billede jamse99 Nybegynder
27. november 2009 - 10:08 #11
Hej Jkrons

Jeg sidder med samme problem vedrørende cpr. og hundredårsskiftet. Jeg er ikke i stand til at forstå, hvad jeg skal gøre for at implementere din løsning, og vil høre, om jeg må modtage en kopi af din regnearksløsning?
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