• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Acceptgiro bedrag met controlenummer

Status
Niet open voor verdere reacties.

NAC2015

Gebruiker
Lid geworden
17 mrt 2015
Berichten
9
Ik ben vanuit een excel bestand een document aan het genereren voor het printen van acceptgiro's

Voor het te incasseren bedrag heb ik twee velden:
A1: 193 (dit zijn de hele euro's)
B1: 40 (dit zijn de eurocenten)

Dit getal moet worden omgezet in een getal van 8 cijfers (te bereiken met voorloop nullen)
Hiervoor heb ik gevonden: =HERHALING("0";6-LENGTE(A1))&A1&B1
Dit resulteert in: 00019340

Nu hoort er voor de acceptgiro ook nog een controlenummer aan het einde worden toegevoegd zodat er een 9 cijferige code ontstaat.
Dit getal zou moeten worden samengesteld dmv 11 cijferproef.

Uitkomst zou dan een getal zijn: 000193404

Daar had ik iets voor gevonden wat een controlecijfer toevoegt, maar ik krijg het niet werkend in combinatie met de voorloopnullen van het bedrag.
Heeft iemand hier een formule voor? Ik zou er erg mee geholpen zijn.

Alvast dank
 
Beste Arrie
De berekening van het controlecijfer volgens de ‘gewogen modulus 11’-methode ziet er als volgt uit:

Aan elk cijfer van het getal wordt een gewicht toegekend.
Deze gewichten zijn (gerekend vanaf het meest rechtse cijfer naar links) 2, 4, 8, 5, 10, 9, 7, 3, 6, 1. Voor getallen groter dan 10 cijfers herhalen deze gewichten zich.

De berekening is:
A = som van alle producten (cijfer x gewicht)
(modulus 11) A = de rest bij deling van A door 11
C = [11 - (modulus 11) A] = controlecijfer
Indien C = 10 wordt 1 aangenomen
Indien C = 11 wordt 0 aangenomen

Voorbeeld voor het betalingskenmerk (15 posities): (5)000 0567 8901 2345
A = 215
A = 215 : 11 = 19 rest 6
C = 11 - 6 = 5

Hierboven staat zoals het werkt voor 15 cijferige getallen waarbij het controlenummer voor het getal komt te staan.
Bij een 8 cijferig getal zou de modulus 11 worden beperkt tot: (gerekend vanaf het meest rechtse cijfer naar links) 2, 4, 8, 5, 10, 9, 7, 3,

gewicht: 2 4 8 5 10 9 7 3
getal: 0 4 3 9 1 0 0 0

0 16 24 45 10 0 0 0 som = 95

A= 215 : 11 = 8 rest 7
C= 11 - 7 = 4

Dus het controlegetal voor 00019340 is dus 4 en wordt het getal na toevoeging hiervan 000193404

Hopelijk heb ik het zo duidelijk uitgelegd.
 
Hoi Arrie,

Ik ben onder de indruk, snap niet dat je met zo'n korte code zoveel elementen kan verwerken! super.:thumb:
Toch is er nog iets . . .

Indien Controlenummer = 10 wordt 1 aangenomen
Indien Controlenummer = 11 wordt 0 aangenomen
Anders worden het ook 10 ipv 9 karakters. Hieronder de voorbeelden

[table="width: 500"]

[tr]
[td]euro[/td]
[td]cent[/td]
[td]getal met controlenummer[/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td]9999[/td]
[td]99[/td]
[td]0099999910[/td]
[td]dit zou dan C= 1 zijn:[/td]
[td]009999991[/td]
[/tr]


[tr]
[td]18[/td]
[td]12[/td]
[td]0000181211[/td]
[td]dit zou dan C= 0 zijn:[/td]
[td]000018120[/td]
[/tr]
[/table]

Weet niet of deze puzzel ook nog is te doen?
Alvast bedankt.
 
Beste Arrie,

Het is helemaal super, uitgebreid getest en het werkt helemaal zoals bedoeld.
Alle bedragen krijgen netjes het juiste controle nummer.
Heb nog even naar de code gekeken, ik snap het niet, maar het werkt wel!

Heel erg bedankt :d :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan