【Excel】エクセルのバーコードが表示されない・読み取れない原因と対処法
エクセルで作成したバーコードが四角い記号になった、数字のままでバーコード表示にならない、印刷すると薄くてスキャナーが読み取れないなどのトラブルは、フォント、データ形式、印刷設定のいずれかに原因があることが少なくありません。
バーコードは見た目が表示されているだけでは不十分であり、規格に合うデータ、正しいチェックデジット、適切な余白と印刷品質がそろって初めて読み取りに使えます。
エクセルのバーコードトラブルで確認したい要点です。
・バーコード用フォントが正しくインストールされているかを確認します。
・CODE39やJANなど、利用する規格に合う文字列と数式を準備します。
・画面表示だけで判断せず、実際に印刷した用紙をスキャナーで検証します。
文字化けのように見える現象でも、実際にはフォント未適用やセル幅不足が原因になっている場合があります。
この記事では、エクセルのバーコードが表示されない、または読み取れないときの原因を切り分け、Windows版Excelで確認できる対処法を順番に解説します。
エクセルのバーコードを表示する基本設定
それではまず、バーコードを正常に表示させるための基本設定について解説していきます。
| A列 商品コード | B列 表示用データ | C列 バーコード表示 |
|---|---|---|
| 123456789012 | *123456789012* | *123456789012* |
| 987654321098 | *987654321098* | *987654321098* |
上の表は、CODE39用フォントを使う場合のサンプルです。
1行目を見出しとし、A2に元データ、B2にバーコード規格向けの文字列、C2にバーコードフォントを設定する形にすると、元の番号と印刷用の表示を分けて管理できます。
バーコードフォントのインストールと適用
まずはバーコードフォントがWindowsに正しく導入されているかを確認しましょう。
CODE39、Code 128、JAN、NW-7などのバーコードは、規格ごとに必要なフォントや作成方法が異なります。
通常の游ゴシックやCalibriを選んだだけでは、数字がバーコードの線へ変換されることはありません。
ダウンロードしたフォントファイルを右クリックし、インストールを実行した後、いったんExcelを閉じて起動し直します。

再起動後に対象セルを選択し、ホームタブのフォント一覧から導入したバーコードフォントを指定してください。
フォント名が一覧に出ない場合は、ファイルが破損している、管理者権限が必要、または会社の端末でフォント導入が制限されている可能性があります。
その場合は勝手にセキュリティ設定を変更せず、社内のシステム管理者に導入可否を確認するのが安全です。
【操作のポイント】バーコードフォントは、ExcelではなくWindowsにインストールしてからExcelを再起動します。
CODE39用の開始文字と終了文字
続いては、CODE39で必要になる開始文字と終了文字を確認していきます。
CODE39は文字列の先頭と末尾にアスタリスクを置く形式が一般的であり、バーコードフォントへ渡す文字列にもこの記号が必要になる場合があります。
CODE39の表示用データをB2で作る数式です。
=”*”&A2&”*”
この数式をB2へ入力すると、A2の番号を囲んだ表示用文字列が作成されます。
数式はB2だけに入力し、セル右下のフィルハンドルを下へドラッグしてオートフィルすると、3行目以降にも同じ形で展開できます。

表示用データのセルにバーコードフォントを設定し、元データの列には通常フォントを残すと確認作業が楽になります。
なお、フォントによっては開始文字や終了文字の扱いが異なるため、配布元の仕様書を確認してください。
見た目だけでアスタリスクを省略すると、スキャナーが読み取れないバーコードになることがあります。
【操作のポイント】数式は表示用列に入れ、元データの列を直接バーコード化しない運用が便利です。
セル幅と行の高さによる表示崩れ
続いては、セルの大きさによる表示崩れを確認していきます。
バーコードフォントが適用されていても、列幅が狭いと線が詰まり、文字の一部が隠れたり、印刷時にバーが欠けたりします。
バーコードは横方向の余白を含めて認識されるため、セル内にぴったり収める設定は避けるべきです。
対象列の右端をドラッグして十分な幅を確保し、行の高さも文字サイズに合わせて広げます。
セルの配置は左揃えにして、折り返して全体を表示する設定は解除するほうが、意図しない改行を防ぎやすくなります。
また、セル結合はデータ抽出や印刷設定のトラブルにつながるため、バーコード列では使わないほうが無難です。
【操作のポイント】バーコードの左右には空白を残し、折り返し表示や縮小表示を使わないようにします。
バーコードが文字化けして表示されない原因
続いては、バーコードが表示されず文字化けのようになる原因を確認していきます。
| 画面の状態 | 主な原因 | 優先する対処 |
|---|---|---|
| 数字のまま表示される | フォント未適用 | 対象セルのフォントを変更 |
| 四角い記号になる | フォント未導入または非対応文字 | フォントと文字種を確認 |
| 線が途中で切れる | 列幅不足や縮小印刷 | 幅と印刷倍率を調整 |
バーコードが見えない問題は、データではなく書式設定に潜んでいることもあります。
フォント名の置き換わり
それではまず、フォント名の置き換わりについて解説していきます。
他のパソコンで作ったブックを開いたとき、作成者の端末にだけ入っていたバーコードフォントは自動では引き継がれません。
Excelは見つからないフォントを別のフォントへ置き換えるため、バーコードが数字や記号に戻って見えることがあります。
ファイルをメールで共有しても、通常はフォントそのものまでは共有されません。
対象セルをクリックしてフォントボックスを確認し、想定したバーコードフォント名ではない場合は、同じフォントを導入してください。

共有先が複数ある帳票では、利用端末に必要なフォントを展開するか、バーコード生成用の専用ソフトやアドインを使う方法も検討できます。
フォントのライセンス条件によっては、社内配布や商用利用に制限があるため、無償フォントでも利用規約の確認が必要です。
【操作のポイント】別の端末で開く前に、バーコードフォントの有無と利用ライセンスを確認します。
数値形式による先頭ゼロの欠落
続いては、数値形式による先頭ゼロの欠落を確認していきます。
JANコードなどでは、先頭のゼロを含めた桁数が重要です。
セルを数値として入力すると、たとえば012345678901は12345678901となり、先頭のゼロが失われます。
見た目の桁数が一つでも変わると、バーコード規格として成立しないことがあります。
入力前に対象列の表示形式を文字列へ変更するか、番号の先頭にアポストロフィを付けて文字列として保存します。
桁数を固定して表示したい場合、A2に数値がある前提では次の式も利用できます。
=TEXT(A2,”000000000000″)
この式は12桁になるよう先頭をゼロで埋めますが、実際の規格桁数と元データの扱いを確認してから使いましょう。
CSVから取り込む場合は、Excelが自動変換を行いやすいため、インポート時に該当列を文字列として指定する方法が有効です。
【操作のポイント】商品コードやJANコードは数値計算用ではなく、文字列データとして扱います。
使用できない文字と全角入力
続いては、使用できない文字と全角入力を確認していきます。
バーコード規格には、使える英数字や記号が定められています。
CODE39では小文字、全角英数字、日本語文字などをそのまま扱えないフォントがあり、全角のハイフンや全角スペースも読み取り失敗の原因になります。

入力データに余分な空白が混じっていないかは、数式バーでセル内容を確認すると見つけやすくなります。
前後の半角空白を除去して表示用データを作る例です。
=”*”&TRIM(A2)&”*”
TRIM関数は連続した半角スペースを一つに整理するため、コード内の空白を許容しない規格では、元データを事前に見直す必要があります。
全角と半角は見た目が似ていても、スキャナーやバーコードフォントにとっては別の文字です。
【操作のポイント】バーコードへ渡す文字列は半角英数字を基本にし、不要な空白や全角記号を除きます。
JANコードとCODE39のデータ作成
続いては、JANコードとCODE39のデータ作成について確認していきます。
| A列 元データ | B列 規格 | C列 作成時の注意 |
|---|---|---|
| 123456789012 | CODE39 | 開始文字と終了文字を付加 |
| 490123456789 | JAN | チェックデジットを計算 |
規格が違えば、同じ数字列でも必要な計算やバーコードフォントは変わります。
CODE39の表示用文字列
それではまず、CODE39の表示用文字列について解説していきます。
CODE39は社内管理番号、棚番、資産番号などの用途で使われることが多い規格です。
数字だけではなく、対応するアルファベットや一部の記号を扱える点が特徴ですが、使用可能な文字はフォントの仕様も含めて確認しなければなりません。
表示用セルに数式を設定した後、CODE39フォントを割り当てることで、縦線のバーコードとして表示できます。
元の番号を修正したときに表示用セルも自動更新されるため、手入力でバーコード文字列を作るよりミスを減らせます。
オートフィルを利用する場合は、B2の数式を下方向にコピーし、C列にも同じ表示用データを参照させる構成が分かりやすい方法です。
【操作のポイント】CODE39ではデータ列とバーコード表示列を分け、開始文字と終了文字の漏れを防ぎます。
JANコードのチェックデジット計算
続いては、JANコードのチェックデジット計算を確認していきます。
JANコードでは、指定された桁数の本体コードに対して、最後の一桁となるチェックデジットを算出します。
12桁の本体コードがA2に文字列で入力されている場合、一般的な考え方は右端から交互に重み付けを行い、合計を10の倍数へ合わせる一桁を求めることです。
Microsoft 365などで使いやすいJANチェックデジットの考え方です。
=MOD(10-MOD(SUMPRODUCT(MID(A2,SEQUENCE(12),1)*IF(MOD(SEQUENCE(12),2)=1,1,3)),10),10)
この式はA2の12桁を一文字ずつ取り出し、位置ごとに1または3を掛けて合計し、最後の一桁を計算します。
ただし、事業者コードや商品コードの割り当て自体は任意に決められるものではありません。
計算式が正しくても、流通用JANコードとして使えるかどうかは、コードの登録状況とは別問題です。
社内用途のラベルか、POSや流通で使う正式な商品コードかを分けて考えましょう。
【操作のポイント】JANコードは桁数とチェックデジットを確認し、社内番号を安易に正式コードとして印刷しないようにします。
Excelでの数式入力とオートフィル
続いては、Excelでの数式入力とオートフィルを確認していきます。
画像のようにB2へ数式を入力したら、セル右下の小さな四角をつかみ、必要な行まで下へ引っ張ります。
これがオートフィルであり、A3、A4と行番号に合わせて参照先が自動的に変わります。
バーコードを作成する前に、B列の表示用データがすべて同じ桁数や形式になっているか確認すると、印刷後の不具合を減らせます。
【操作のポイント】数式は先頭データ行へ入力し、オートフィル後に末尾行まで参照先がずれていないか確認します。
印刷時にバーコードが読み取れない要因
続いては、印刷時にバーコードが読み取れない要因について確認していきます。
| 印刷項目 | 避けたい状態 | 確認内容 |
|---|---|---|
| 拡大縮小 | 横幅を極端に縮小 | 実寸または高品質印刷 |
| プリンター | トナー切れやにじみ | 印字の濃さと解像度 |
| 余白 | 線のすぐ横に文字 | 左右の白い余白を確保 |
画面で正常に見えるバーコードでも、印刷条件が悪いとスキャナーは正しく判定できません。
縮小印刷と線幅の変化
それではまず、縮小印刷と線幅の変化について解説していきます。
ページレイアウトで横一ページに収める設定を使うと、Excelは列全体を縮小します。
その結果、細いバーと太いバーの差が小さくなり、スキャナーが幅の違いを判別できない場合があります。
バーコードは文字の可読性とは異なり、線の太さの比率が重要です。
印刷プレビューで帳票全体を確認し、必要なら用紙を横向きにする、印刷範囲を分ける、列幅を見直すなどで縮小率を下げます。
ラベル印刷では、同じ倍率でもプリンタードライバー側の拡大縮小が働く場合があるため、プリンター設定も確認してください。
【操作のポイント】横一ページに収める設定は便利ですが、バーコード列の縮小率を必ず確認します。
バーコード周囲のクワイエットゾーン
続いては、バーコード周囲のクワイエットゾーンを確認していきます。
クワイエットゾーンとは、バーコードの左右に必要な白い余白のことです。
バーのすぐ横に罫線、文字、別のバーコード、ロゴなどがあると、読み取り開始位置や終了位置を機器が誤認することがあります。
セルの罫線がバーコードへ近すぎるだけでも、読み取りが不安定になることがあります。
ラベルのレイアウトを作るときは、バーコードの左右に空のセルや余白列を設け、上下にも十分な空間を取ります。
印刷範囲ぎりぎりに置くと端が切れるおそれがあるため、用紙端からも距離を取ることが大切です。
【操作のポイント】バーコードの左右には文字や罫線を近づけず、白い余白を意識して配置します。
プリンター解像度と用紙状態
続いては、プリンター解像度と用紙状態を確認していきます。
インクのにじみ、かすれ、トナーの不足、感熱紙の劣化、光沢紙への反射などは、読み取り精度を下げる代表的な要因です。
特に細かいバーコードを小さく印刷する場合、家庭用インクジェットプリンターでは線の輪郭が安定しないことがあります。
一度だけ読めた状態ではなく、同じラベルを複数回スキャンして安定するかを基準に判断しましょう。
試し印刷は、実際に使うプリンター、ラベル紙、スキャナーの組み合わせで行う必要があります。
画面上のバーコードをスマートフォンで読み取れたとしても、業務用スキャナーやPOS機器で同じ結果になるとは限りません。
【操作のポイント】本番と同じ用紙とプリンターで印刷し、複数回の読み取り試験を実施します。
スキャナーで読み取れない場合の確認
続いては、スキャナーで読み取れない場合の確認について解説していきます。
| 確認順 | 確認する内容 | 判断の目安 |
|---|---|---|
| 1 | 別の既知ラベル | 機器が動作するか |
| 2 | 規格設定 | CODE39やJANを有効化 |
| 3 | 読み取り結果 | 元データと一致するか |
エクセル側だけを修正し続ける前に、スキャナー本体の設定とバーコード規格の対応状況も確認しましょう。
バーコード規格の対応設定
それではまず、バーコード規格の対応設定について解説していきます。
バーコードリーダーは、すべての規格を初期設定で読み取れるとは限りません。
たとえばCODE39、Code 128、EAN-13、JAN、NW-7などは、機種によって有効と無効を切り替えられる場合があります。
取扱説明書の設定バーコードを読むことで規格を有効化する方式もあるため、製品名と設定マニュアルを確認してください。
エクセルで正しく印刷できていても、スキャナーがその規格を無効化していれば読み取り音は鳴りません。
まず市販品など、正常に読めることが分かっているバーコードでスキャナーの動作を試すと、原因の切り分けが早くなります。
【操作のポイント】バーコードの見た目ではなく、スキャナーが対象規格を有効にしているかを確認します。
チェックデジットと読み取り値の照合
続いては、チェックデジットと読み取り値の照合を確認していきます。
スキャンできたように見えても、入力された番号が元データと異なれば実務では使えません。
メモ帳やExcelの空白セルを開き、スキャン結果がどの文字列として入力されるかを確認します。
確認時には、元データ、表示用データ、スキャン結果の三つを並べます。
例として元データが123456789012で、CODE39用の表示用データが*123456789012*の場合、読み取り結果として必要なのは通常123456789012です。
機器設定によっては、開始文字と終了文字、改行、Tabキーなどが付加されることがあります。
JANコードではチェックデジットを含む桁数で照合し、先頭ゼロが消えていないかも確認してください。
【操作のポイント】読み取り音だけで成功とせず、PCへ入力された文字列を元データと比較します。
スマートフォンアプリとの判定差
続いては、スマートフォンアプリとの判定差について確認していきます。
スマートフォンのカメラアプリは、機種やアプリごとに対応規格と認識精度が異なります。
スマートフォンで読めないからといって印刷物が必ず不良とは限らず、反対にスマートフォンで読めても業務用スキャナーで使える保証にはなりません。
画面の明るさ、ピント、反射、カメラとの距離も結果に影響します。
最終判定は、実際の業務で使用するスキャナーとシステムで行うことが重要です。
テスト時には、印刷直後だけでなく、持ち運びや保管後のラベルも試すと、にじみや擦れへの耐性を確認できます。
【操作のポイント】スマートフォンは補助確認にとどめ、運用予定の読み取り機器で検証します。
まとめ エクセルのバーコードが読み取れない・表示されない対処法
エクセルでバーコードが表示されない場合は、最初にバーコードフォントのインストール状況と、対象セルへのフォント適用を確認します。
CODE39なら開始文字と終了文字、JANコードなら桁数とチェックデジットなど、規格に応じたデータ作成も欠かせません。
先頭ゼロの欠落、全角文字、余計な空白は見落としやすいため、商品コードは文字列として管理するのが安心です。
印刷時には縮小率、バーコード周囲の余白、プリンターの解像度と用紙状態を確認しましょう。
最後に、実際に利用するスキャナーで複数回読み取り、元データと一致することまで確認して初めて運用できる状態になります。
表示、印刷、読み取りの三段階を順に切り分ければ、エクセルのバーコードトラブルは原因を見つけやすくなります。