[[20100426101944]] 『モジュラス11(ウエイト・・・)計算式』(MYU) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『モジュラス11(ウエイト・・・)計算式』(MYU)

 下記の条件での関数を教えていただきたく、よろしくお願い致します。

 @データの末尾の桁からウエイトを7.6.5.…2.とかけてゆき、総和を求めます。

 A総和を"11"で割りその 余りを求めます。

 B"11"より余りを引いた値がチェックデジットとなります。

 <計算例> (例)123456 

 @(6×7)+(5×6)+(4×5)+(3×4)+(2×3)+(1×2)=42+30+20+12+6+2=112

 A112/11=10 余り2

 B11-2=9 チェックデジット「9」 

  ※余りが0の場合はチェックデジット「0」

  ※余りが1の場合はチェックデジット「0」   


 こんにちは。
ベタな感じですが、以下のように考えてみました。
・前提:6桁以下の正の数値
・「※余りが0の場合はチェックデジット「0」」→生CDが11のときに0に変更
  「※余りが1の場合はチェックデジット「0」」→生CDが10のときに0に変更
 →生CDが10以上のときに(CHOOSE関数で)0に変更

  [R/C]     [A]  [B]
   [1]   123456    9

  B1 =CHOOSE(11-MOD(SUMPRODUCT(MID(TEXT(A1,"000000"),{1,2,3,4,5,6},1)*{2,3,4,5,6,7}),11), 1,2,3,4,5,6,7,8,9,0,0)
(コタ)

 (コタ)様

 ありがとうございました。

 出来ました。 大変、助かりました。

 (MYU)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.