![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?e8efa67)
No.2ベストアンサー
- 回答日時:
チェックデジットを数式に変えて判定するということですよね?
簡単なことだと思いますが。
8桁と13桁の違いは対象のレングス(文字列長)を判定して式を分岐させればいいですし、特に難易度は高いとは思えません。
とりあえずVBの例がここにあります。
http://www.ruriplus.com/msaccess/tch/tch_049.html
ExcelのVBAにするのにはそんなに違いはないでしょう。
参考URL:http://www.ruriplus.com/msaccess/tch/tch_049.html
ありがとうございます。
何分VBは初心者で、エクセルのVBA以外の知識は殆どないもので・・・。
いただいたURLの情報は、関数を作成するというものですね。自分で試してみたことはないのですが、頼ってばかりですと成長できないので、こちらを参考に何とか組み立てていきます。
No.3
- 回答日時:
>数式で一度に行うということは可能でしょうか
エクセルの通常の関数式では出来ません。複雑になりすぎると言うのが正しいでしょうが。
#1のご回答のようなことを、関数式でやろうとすると
関数のネストが深くなり過ぎて、手におえないでしょう。
そこでユーザー定義関数を作るのが、この場合適当でしょう。
>VBは初心者で、エクセルのVBA以外の知識は殆どないもので・
VBAだって、そう甘いものやおまへんで。
VBAのユーザ定義関数を作るのポイントは、シートのセルには、=JAN8(A1)のように,引数にセル番地を入れ、VBEの標準モジュール(必ず標準モジュール)には
Function jan8(a)
(aをセルに入っている数や文字列として扱う、すなわち演算する)
End Function
とします。JAN8としたのは、JAN13と関数を分けられれば分けた方が、2モジュールになるが、考えやすいかと思いました。各行に混合しておれば、1つの関数にして、#2のご回答のように、Case分で分けざるを得ません。
了解です。
この辺まで複雑な計算になると、ユーザー定義関数の領域ということですね。
mld_sakuraさんに教えていただいたURLを参考にがんばってみます。
ご親切にありがとうございました。
No.1
- 回答日時:
データ=4912345?の場合(?=cd)
5+3+1+4=13(偶数桁を足す)
13x3=39 (それに3を書ける)
4+2+9=15 (奇数桁を足す)
39+15=54 (両方を足す)
54の下一桁を取り出し
10-4=6 (10から下一桁を引く)
チェックディジットは6 (ゆえに)
49123456 がコード
13桁の場合も同じ
補足の質問に対してimogasiさんより回答がありました。
数式では、難しいみたいですね。
何とかユーザー定義関数を組み立てていきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 文字の先頭4文字だ...
-
エクセルのセル内でタブキーの...
-
エクセルのグラフでデータテー...
-
エクセル 三桁の数字をリンク...
-
エクセルの二重引用符と貼り付け
-
エクセルにアクセスカウンター...
-
差し込み印刷で文字化け!
-
文字を入力するだけで、強制終...
-
エクセルで3Dの円錐形を作成...
-
エクセル 関連付けのやり方
-
エクセルVBA 長さ0の文字列をNu...
-
エクセルオンラインのみ勝手に...
-
エクセルで全波整流回路の波形
-
ワードの文書にエクセルのデー...
-
エクセルのセルに入った二つの...
-
エクセルの計算式
-
リンクデータが更新できない ...
-
エクセルVBAで、他のエクセルブ...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
参照先セルに値が入っていない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内でタブキーの...
-
エクセルで3Dの円錐形を作成...
-
エクセルのグラフでデータテー...
-
エクセル 文字の先頭4文字だ...
-
文字をアルファベット順に3つ...
-
日報のデータを月報にデータを...
-
エクセルVBA 長さ0の文字列をNu...
-
ウェブから貼ったドロップダウ...
-
VBA初心者です。電話番号の数字...
-
エクセル データ追加するもグ...
-
#DIV/0!があるデータの折れ線...
-
エクセルで全波整流回路の波形
-
一太郎からエクセルに
-
エクセルの変換
-
差し込み印刷で文字化け!
-
エクセルにて指定文字数以上の...
-
エクセルで関数グラフを描きた...
-
VBでリアルタイムにグラフを...
-
エクセルのデータを自動的にweb...
-
エクセル2000:phonetic関数で...
おすすめ情報