ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Generate a Modulus Sequence (https://www.excelbanter.com/excel-programming/290941-generate-modulus-sequence.html)

Stoke_A_GOaT

Generate a Modulus Sequence
 
Hi,

Hoping some Excel guru can spread some devine light on a problem thats
quite knotty :)

I need to generate a list of numbers that will follow a pre-defined Modulus
11
routine. Characteristics of the number are :

8 Digits long,
Always begins with 5 and ends with a 1 or a 2.
If the number ends with a 2 then add five to the weighting calculation and
continue with Mod 11 to obtain the Check Digit.

Weightings in character positions are 5,3,8,2,9,1, CheckDigit here , 1 or 2.

Not sure how or if i would create a function for this !!

Any Ideas... Any Takers.....


TIA
Andy







Vasant Nanavati

Generate a Modulus Sequence
 
If you could explain to the nonmathematicians among us what a modulus
sequence is and some explanation of the weighting and the check-digit
calculation, I can't imagine that coming up with a function would be too
difficult.

--

Vasant


"Stoke_A_GOaT" wrote in message
...
Hi,

Hoping some Excel guru can spread some devine light on a problem thats
quite knotty :)

I need to generate a list of numbers that will follow a pre-defined

Modulus
11
routine. Characteristics of the number are :

8 Digits long,
Always begins with 5 and ends with a 1 or a 2.
If the number ends with a 2 then add five to the weighting calculation and
continue with Mod 11 to obtain the Check Digit.

Weightings in character positions are 5,3,8,2,9,1, CheckDigit here , 1 or

2.

Not sure how or if i would create a function for this !!

Any Ideas... Any Takers.....


TIA
Andy









acw[_2_]

Generate a Modulus Sequence
 
Andy

You are a bit short on detail on the mod 11 options for 0, 1 etc but this should give you the idea.

Sub aaa()
For i = 0 To 9
For j = 0 To 9
For k = 0 To 9
For l = 0 To 9
For m = 0 To 9
For n = 1 To 2
z = Val(5 & i & j & k & l & m & n)
ActiveCell.Value = makecheck(z)
ActiveCell.Offset(1, 0).Select
Next n
Next m
Next l
Next k
Next j
Next i
End Sub

Function makecheck(x)
tot = 0
arr = Array(5, 3, 8, 2, 9, 1)
For i = 1 To 6
tot = tot + Val(Mid(x, i, 1)) * arr(i - 1)
Next i

If Mid(x, 7, 1) = 2 Then tot = tot + 5

moder = tot Mod 11
chker = 11 - moder

makecheck = Val(Mid(x, 1, 6)) & chker & Val(Right(x, 1))


End Function

Tony

----- Stoke_A_GOaT wrote: -----

Hi,

Hoping some Excel guru can spread some devine light on a problem thats
quite knotty :)

I need to generate a list of numbers that will follow a pre-defined Modulus
11
routine. Characteristics of the number are :

8 Digits long,
Always begins with 5 and ends with a 1 or a 2.
If the number ends with a 2 then add five to the weighting calculation and
continue with Mod 11 to obtain the Check Digit.

Weightings in character positions are 5,3,8,2,9,1, CheckDigit here , 1 or 2.

Not sure how or if i would create a function for this !!

Any Ideas... Any Takers.....


TIA
Andy









All times are GMT +1. The time now is 05:25 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com