[[20070330100320]] 『チェックデジット計算式』(裕) ページの最後に飛ぶ

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

 

『チェックデジット計算式』(裕)

計算式をお教えください。

12桁の数字(例えばA1列に123456789012)の

奇数桁を足して「3」をかける(1+3+5+7+9+1にX3)

今度は偶数桁を足す(2+4+5+8+0+2)

それぞれの答え(偶数桁の合計+奇数桁の合計=総計)

最後に(10−総計の下1桁)この答えが12桁の数字の12桁目と

正しいかどうかのチェックをしたいのですが

お願い致します。


 こんにちは〜♪

 説明のまんま、1つの式にしますと
 こんな風になりました。。。

 B1セルへ

 =IF(A1="","",IF(RIGHT(A1,1)*1=10-RIGHT(SUM(INDEX(MOD(MID(A1,COLUMN(A:L),1),2)*
MID(A1,COLUMN(A:L),1),))*3+SUM(INDEX((MOD(MID(A1,COLUMN(A:L),1),2)=0)*
MID(A1,COLUMN(A:L),1),)),1),"一致","不一致"))

 ★式の中の SUM(INDEX は、SUMPRODUCT にしてもいいですね。。

 ご参考にどうぞ。。。

 。。。Ms.Rin〜♪♪

 **************

 編集でチョット訂正しました。。。


Ms.Rinさん

有難うございました。

ただ、私が間違っていまして、偶数の方は(2+4+5+8+0)で

最後の12桁目は足さずに(10桁目までを足す)でした。

その答えが12桁目と同じかどうかでした。

申し訳ございませんがもう一度お教えください。


 ふたたび〜です。。♪

 >偶数の方は(2+4+5+8+0)で 
 >最後の12桁目は足さずに(10桁目までを足す)でした。 

 でしたら〜。。 

 =IF(A1="","",IF(RIGHT(A1,1)*1=10-RIGHT(SUM(INDEX(MOD(MID(A1,COLUMN(A:L),1),2)*
MID(A1,COLUMN(A:L),1),))*3+SUM(INDEX((MOD(MID(A1,COLUMN(A:J),1),2)=0)*
MID(A1,COLUMN(A:J),1),)),1),"一致","不一致"))

 になりますね。。

 参考に

 ★奇数合計

 SUM(INDEX(MOD(MID(A1,COLUMN(A:L),1),2)*MID(A1,COLUMN(A:L),1),))*3

 ★偶数合計
 SUM(INDEX((MOD(MID(A1,COLUMN(A:J),1),2)=0)*MID(A1,COLUMN(A:J),1),))
 です。。。

 。。。Ms.Rin〜♪♪


Ms.Rin さん

度々有難うございます。

私のやり方が間違いなのかもしれませんが、うまく出来ません。

例えば(850567539389)この数字だと

12桁目の「9」が答えとなり一致しなければいけないのですが・・・

1.(8+0+6+5+9+8)X3=108

2.(5+5+7+3+3)=23

3.108+23=131

4.131の下1桁の「1」 10−「1」=9

こんな感じなのですが どうでしょう?

(裕)


 こんなんはどうですか?

 =IF(OR(LEN(A1)>12,LEN(A1)=0,NOT(ISNUMBER(A1))),"",REPT("不",1-(10-RIGHT(SUMPRODUCT(MOD(ROW(1:12),2)
  *MID(TEXT(A1,REPT("0",12)),ROW(1:12),1))*3+SUMPRODUCT((MOD(ROW(1:10),2)=0)
  *MID(TEXT(A1,REPT("0",12)),ROW(1:10),1)))=--RIGHT(A1)))&"一致")
 (ROUGE)

 12桁の数字(例えばA1列に123456789012)の 
奇数桁を足して「3」をかける(1+3+5+7+9+1にX3)の1桁 
=MOD(SUMPRODUCT(MID(A1,ROW(A1:A11),1)*(MOD(ROW(A1:A11),2)=1))*3,10)
今度は偶数桁を足す(2+4+5+8+0+2)の1桁
=MOD(SUMPRODUCT(MID(A1,ROW(A1:A11),1)*(MOD(ROW(A1:A11),2)=0)),10)
(JJKU)

 それぞれの答え(偶数桁の合計+奇数桁の合計=総計) 
 最後に(10−総計の下1桁)
 =10-MOD(SUMPRODUCT(MID(A1,ROW(A1:A11),1)*((MOD(ROW(A1:A11),2)=1)*3+(MOD(ROW(A1:A11),2)=0))),10)
この結果を12桁の数字の12桁目と比較すれば
(JJKU)


 すみません〜♪

 ワウツ!!
 違ってましたね。ゴメンナサイ!!

 =IF(A1="","",IF(RIGHT(A1,1)*1=10-RIGHT(SUM(INDEX((MOD(COLUMN(A:L),2))*
MID(A1,COLUMN(A:L),1),))*3+SUM(INDEX((MOD(COLUMN(A:J),2)=0)*
MID(A1,COLUMN(A:J),1),)),1),"一致","不一致"))

 これで良さそうです。。。Ms.Rin〜♪♪


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

出来ました。今日は家に帰れそうです。

みなさん有難うです。感謝します。

(裕)


コメント返信:

[ 一覧(最新更新順) ]


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