Avatar billede pwn Forsker
29. august 2004 - 11:13 Der er 5 kommentarer og
2 løsninger

Opsplitte et cpr-nr. i enkeltcifre, modulscheck CPR-nr.

Er der en nem funktion, hvor jeg kan få opsplittet et tals cifre og få dem placeret i hver sin celle. Jeg vil lave et moduluscheck på et cpr-nr, og skal derfor have fat i de enkelte cifre.
Spørgsmållet kunne også være; hvorledes laver man på enkelt vis et modulscheck i Excel?
Avatar billede sjap Praktikant
29. august 2004 - 13:40 #1
En mulighed er at bruge følgende funktion:

Function CPRtest(strCPR As String) As Boolean
Dim X As Long
Dim SlutCiffer As Long
Dim Resultat As Long
    If Not IsNull(strCPR) Then
        X = Val(Mid(strCPR, 1, 1)) * 4
        X = X + Val(Mid(strCPR, 2, 1)) * 3
        X = X + Val(Mid(strCPR, 3, 1)) * 2
        X = X + Val(Mid(strCPR, 4, 1)) * 7
        X = X + Val(Mid(strCPR, 5, 1)) * 6
        X = X + Val(Mid(strCPR, 6, 1)) * 5
        X = X + Val(Mid(strCPR, 7, 1)) * 4
        X = X + Val(Mid(strCPR, 8, 1)) * 3
        X = X + Val(Mid(strCPR, 9, 1)) * 2
        SlutCiffer = Val(Mid(strCPR, 10, 1))
        Resultat = 11 - (X Mod 11)
        If Resultat = 11 Then
            Resultat = 0
        End If
        If Resultat = SlutCiffer Then
            CPRtest = True
        Else
            CPRtest = False
        End If
    End If
End Function
Avatar billede sjap Praktikant
29. august 2004 - 13:44 #2
Hvis du vil splitte det op i celler i regnearket, kan du gøre det på følgende måde (CPRnr. i celle A1):

1. ciffer:    =VENSTRE(A1;1)
2. ciffer:    =MIDT(A1;2;1)
3. ciffer:    =MIDT(A1;3;1)
4. ciffer:    =MIDT(A1;4;1)
osv. osv.
Avatar billede bak Forsker
29. august 2004 - 14:13 #3
som regnearksformel. Her er cprnummer i A1

=HVIS(REST(SUM(MIDT(HVIS(LÆNGDE(A1)=9;"0" & A1;A1);RÆKKE(INDIREKTE("1:10"));1)*{4\3\2\7\6\5\4\3\2\1});11)=0;"OK";"Ikke OK")

Denne formel er en arrayformel og indtastning skal afsluttes med ctrl-shift-enter istedet for bare enter, således at den får tuborgklammer omkring {}
Avatar billede bak Forsker
29. august 2004 - 14:15 #4
PS. ovenstående formel er desværre ikke lavet af mig, men guruen Leo Heuser :-)
Avatar billede pwn Forsker
29. august 2004 - 14:44 #5
fantastisk - tak til jer begge. bak, send lige set svar, så får du også 15 point - og vi sender så en pæn tanke tilm Leo:-)
Avatar billede bak Forsker
29. august 2004 - 14:55 #6
send du bare en pæn tanke til mig også :-)))
Avatar billede sjap Praktikant
29. august 2004 - 15:37 #7
Det var godt nok en rå lille sag :0)
Jeg har aldrig helt forstået der der arrayformler, så de kan altid imponere mig.
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