JANコード(EAN-13)チェックデジットの計算方法と仕組み|モジュラス10・ウェイト3
商品パッケージやPOSレジでおなじみのJANコード(EAN-13 / EAN-8)。その末尾に配置されているチェックデジット(検査数字・CD)は、バーコードリーダーの誤読や入力ミスを検知するための極めて重要な数字です。本記事では、標準規格である「モジュラス10・ウェイト3」の計算手順、手計算の具体例、Excelでの自動算出式、トラブル防止のポイントをわかりやすく解説します。
目次
1. チェックデジット(検査数字)とは?役割と重要性
チェックデジット(Check Digit / 検査数字)とは、数字列の最後に付加される「誤り検出用の数字」です。
バーコードスキャナーがPOSレジでJANコードを読み取る際、印刷の擦れや手ブレ、汚れによって数字が1文字ずれてしまったり、隣り合う数字が入れ替わってスキャンされるリスクがあります。チェックデジットは、読み取った12桁の数字から決められた算術式に基づいて末尾の数字をリアルタイム検証し、「正常にスキャンできたか」「データの欠落がないか」を瞬時に判断する役割を果たしています。
- 1文字の誤読(例: 5を6と読み間違う)を100%検出
- 隣接する数字の転置エラー(例: 12を21と読み間違う)を高精度に検出
- POSレジの二重登録・誤清算トラブルを未然に防止
2. JANコード(13桁)の構造とチェックデジットの位置
一般的な標準JANコード(EAN-13)は、合計13桁の数字で構成されています。それぞれの桁は以下のような国際規格(GS1規格)に基づいた意味を持っています。
※ 自分でJANコードを発番する際は、1〜12桁目を決めた後に、計算式で第13桁目を求めて結合します。
3. 【計算式】モジュラス10・ウェイト3の計算手順
JANコードのチェックデジットは、JIS規格(JIS X 0507)およびGS1国際標準によって「モジュラス10・ウェイト3(Modulus 10, Weight 3)」という方式で計算することが定められています。
計算の4つのステップ(標準13桁の場合)
左から見て「2, 4, 6, 8, 10, 12番目」の数字を取り出して足し算し、その合計値に「3」を掛けます(ウェイト3)。
左から見て「1, 3, 5, 7, 9, 11番目」の数字を取り出して足し算します(ウェイト1)。
「(偶数桁の和 × 3) + 奇数桁の和」を計算して合計値 (TOTAL) を求めます。
合計値の1の位の数字を「10」から引いた値がチェックデジットとなります。(※合計値の1の位が「0」の場合は、チェックデジットも「0」になります)。
4. 具体例で学ぶ:13桁JANコードの手計算シミュレーション
それでは、実際にテスト用データ「490123456789」のチェックデジットを計算してみましょう。
対象データ(12桁): 4 9 0 1 2 3 4 5 6 7 8 9
したがって、完成する13桁の完全なJANコードは「4901234567894」となります。
5. 短縮8桁(EAN-8)のチェックデジット計算方法
缶飲料や文房具など、印字スペースが小さい商品に使われる短縮8桁JANコード(EAN-8)の場合、ウェイトをかける位置が13桁と逆(奇数桁に3を掛ける)になります。
- 奇数桁(1, 3, 5, 7番目)の和を求め、3を掛ける。
- 偶数桁(2, 4, 6番目)の和を求める。
- 2つの結果を足し合わせ、合計値の一の位を10から引く。
6. Excel(エクセル)でチェックデジットを自動計算する関数式
社内の商品マスター管理やExcelシート上で大量の12桁データからチェックデジットを一括計算したい場合は、以下の数式をそのままセルに貼り付けて使用できます。
=MOD(10 - MOD((MID(A2,2,1)+MID(A2,4,1)+MID(A2,6,1)+MID(A2,8,1)+MID(A2,10,1)+MID(A2,12,1))*3 + (MID(A2,1,1)+MID(A2,3,1)+MID(A2,5,1)+MID(A2,7,1)+MID(A2,9,1)+MID(A2,11,1)), 10), 10)
=A2 & MOD(10 - MOD((MID(A2,2,1)+MID(A2,4,1)+MID(A2,6,1)+MID(A2,8,1)+MID(A2,10,1)+MID(A2,12,1))*3 + (MID(A2,1,1)+MID(A2,3,1)+MID(A2,5,1)+MID(A2,7,1)+MID(A2,9,1)+MID(A2,11,1)), 10), 10)
7. よくある計算ミスとスキャナー読み取りエラー対策
チェックデジットの計算やバーコード印刷において、現場で頻発するトラブル事例と予防策を紹介します。
13桁JANコードでは「偶数桁に3を掛ける」のに対し、8桁JANコードでは「奇数桁に3を掛ける」仕様となっています。混同するとチェックデジットが一致しなくなります。
合計値の一の位が「0」の場合、「10 - 0 = 10」となりますが、チェックデジットは1桁の数字であるため「0」とするのが正解です。「10」と設定すると14桁になってしまい読み取れません。
計算が合っていても、バーコード画像の左右に十分な余白(マージン)がないと、スキャナーがチェックデジットのバーを正常に認識できません。
チェックデジット自動計算!無料のJANコード作成ツール
手計算の手間やミスは一切不要!当サイトのジェネレーターなら、12桁または13桁を入力するだけでチェックデジットを自動判定・補正し、商用利用可能な高精細SVG・PNGバーコードを瞬時に生成できます。