【Excel】エクセルでバーコードを作成する方法(在庫管理・印刷・表示)
エクセルで商品コードや管理番号を扱っていると、入力した番号をバーコードとして表示し、棚卸しや出荷時の照合に使いたい場面があります。
専用システムを導入しなくても、バーコードフォント、アドイン、画像生成などの方法を使えば、Excelの一覧表からバーコードを作成できます。
在庫管理で使う場合は、バーコードの見た目だけでなく、読み取り機で正しく読めるかを確認することが重要です。
この記事で扱う主な方法は、バーコードフォントを使う方法、CODE128形式を利用する方法、バーコード画像を挿入する方法です。
サンプルでは1行目を見出し行とし、A列に商品コード、B列に商品名、C列に在庫数、D列にバーコード表示を設定します。
用途に合う方式を選び、印刷後の確認まで含めて進めましょう。
エクセルでバーコードを作成する方法【バーコードフォントの利用】
| 商品コード | 商品名 | 在庫数 | バーコード表示 |
|---|---|---|---|
| 4901234567894 | ノートA5 | 120 | |||| |||| |||| |
| 4901234567900 | ボールペン黒 | 85 | |||| |||| |||| |
それではまず、バーコードフォントを利用してセル内にバーコードを表示する方法について解説していきます。
バーコードフォントは、文字列を特定の書体で表示することで、縦線の集合として見せる仕組みです。
少数の商品コードを一覧表で管理したい場合は、バーコードフォントを使う方法が比較的手軽です。
バーコード規格とフォントの準備
バーコードにはJAN、CODE39、CODE128、NW-7など複数の規格があります。
国内の商品に印字されている13桁のJANコードを扱うならEAN-13またはJAN対応のフォントが必要です。
社内用の管理番号を自由に扱いたい場合は、英数字を幅広く表現できるCODE128やCODE39が候補になります。
フォントを導入する前に、使用するバーコードリーダーが対象規格を読み取れるか確認しましょう。
無料フォントを利用する場合も、商用利用の可否、再配布条件、チェックデジットの扱いを必ず確認してください。
JANコードは桁数とチェックデジットの条件が厳格です。
一方で社内管理用のCODE128は、英数字や記号を含む管理番号に対応しやすい特徴があります。

Windowsにフォントをインストールした後は、Excelを再起動するとフォント一覧から選択できるようになります。
セルの値をバーコード用文字列へ変換
CODE39のフォントでは、開始記号と終了記号としてアスタリスクを付ける仕様が使われることがあります。
ただし、入力規則はフォントごとに異なるため、配布元の説明に従ってください。
たとえばA2に商品コードが入力されているとき、D2にバーコード用の文字列を作るには次の考え方を用います。
入力値をそのまま使えるフォントでは、D2にA2を参照する数式を入力します。
=A2
この数式は、A列の商品コードをD列へ同じ内容で表示する基本形です。
1行目が見出しのため、実際の商品データは2行目から始まります。
D2の右下にあるフィルハンドルを下へドラッグすると、D3以降にも数式をコピーできます。

商品コードに先頭のゼロが含まれる場合は、A列の表示形式を文字列にしてから入力することが大切です。
フォント適用と読み取りテスト
D列を選択し、フォント一覧から導入したバーコードフォントを指定します。
縦線が密集して見えるようになれば、表示自体は完了です。
ただし、画面上でバーコードらしく見えても、読み取り機で必ず読めるとは限りません。
セル幅が狭すぎる、文字サイズが小さい、印刷時に拡大縮小されたといった条件では、細い線がつぶれることがあります。
表示確認だけで終わらせず、実際のバーコードリーダーで複数件を読み取るテストを行いましょう。
【操作のポイント】バーコード用の列は中央揃えにせず、十分な列幅と余白を確保すると読み取り精度を保ちやすくなります。
CODE128形式によるバーコード表示
| 管理番号 | 品名 | 変換用セル | 用途 |
|---|---|---|---|
| ST-00125 | 収納ケース | CODE128用文字列 | 入出庫管理 |
| ST-00126 | 仕切り板 | CODE128用文字列 | 棚卸し管理 |
続いては、CODE128形式でバーコードを表示する際の考え方を確認していきます。
CODE128は文字セットが広く、数字だけでなく英字や一部の記号を含む社内コードにも対応しやすい規格です。
在庫管理番号にハイフンや英字が含まれる場合は、JANコードよりCODE128のほうが扱いやすいことがあります。
CODE128で扱える文字列の特徴

CODE128には複数のコードセットがあり、数字の連続、英大文字、英小文字、制御文字などを効率よく表現できます。
一般的な在庫管理では、商品分類を表す英字、枝番、ロケーション番号を1つのコードにまとめることがあります。
たとえばST-00125のような文字列なら、分類記号と連番を一緒に管理できます。
ただし、CODE128の表示には開始コード、チェック文字、終了コードなどの内部処理が必要になる場合があります。
そのため、単純に文字列へフォントを設定するだけでなく、対応フォント付属の変換ツールやアドインを使う方式が安定します。
チェックデジットと変換処理
チェックデジットは、読み取り時の誤認識を検出するための検査用の値です。
JANコードでは末尾の1桁に使われ、CODE128では文字列全体から計算されるチェック文字が必要になります。
JANコードのチェックデジットでは、右側から数えて偶数番目と奇数番目の数字に異なる重みを掛け、合計が10の倍数になるよう末尾の数字を決めます。
Excelで独自に計算式を作ることもできますが、CODE128の仕様に沿った文字コード変換まで数式だけで行うと複雑になりがちです。
実務では、変換済み文字列を返すアドイン、バーコード作成ソフト、または対応VBAを利用する選択肢があります。

チェックデジットを省略すると、見た目はバーコードでも読み取りに失敗する可能性があります。
在庫一覧へ組み込む列設計
在庫表では、元になる商品コード列とバーコード表示列を分けると、データ修正がしやすくなります。
A列に元コード、B列に商品名、C列に在庫数、D列に変換用文字列、E列にバーコード表示を置く構成が分かりやすいでしょう。
元コードを変更したときに変換列と表示列も更新されるよう、参照数式や変換機能を連動させます。
バーコード画像やフォントで表示する列は、並べ替えやフィルター後にも商品コードと対応しているか確認してください。
【操作のポイント】元データの列を残しておくと、バーコードが読めないときでもキーボード入力で検索や照合ができます。
バーコード画像の作成とExcelへの挿入
| 商品コード | 商品名 | 画像ファイル名 | 挿入位置 |
|---|---|---|---|
| 4901234567894 | ノートA5 | 4901234567894.png | D2 |
続いては、バーコード画像を作成してExcelへ挿入する方法を確認していきます。
印刷用ラベルや帳票を作る場合は、フォント表示よりも画像形式のほうがレイアウトを固定しやすい場面があります。
バーコード画像はセルのサイズや印刷倍率の影響を受けるため、挿入後に大きさを統一することが重要です。
画像方式を選ぶ基準
バーコード画像を作る方法には、専用の生成サービス、業務ソフト、Excelアドイン、社内システムからの出力などがあります。
大量の商品を扱う場合は、商品コードをファイル名にして画像を一括出力できる環境が便利です。
少量のラベル作成なら、必要なコードだけを画像化してExcelへ貼り付ける方法でも対応できます。
画像形式はPNGのように輪郭が明瞭な形式を選ぶと、線のにじみを抑えやすくなります。
JPEGは圧縮によって縦線の境界がぼやける場合があるため、バーコード用途では注意が必要です。
画像をセルに合わせて配置
Excelでは挿入タブから画像を選び、保存済みのバーコード画像をシートへ配置します。
画像を選択した状態で、商品コードに対応する行のバーコード列へ移動します。
画像のサイズを変更するときは、縦横比を保ったまま拡大縮小します。
セルの移動や並べ替えを行う可能性があるなら、画像のプロパティでセルに合わせて移動やサイズ変更をする設定を確認しましょう。
画像をセルの中央に配置し、行の高さを統一すると、印刷した在庫表の見やすさが向上します。
複数画像を扱う際の注意点
数百件以上の画像を貼り付けると、ブックの容量が大きくなり、開く速度が低下することがあります。
一覧表に全画像を常時表示する必要がない場合は、バーコード列を印刷専用シートに分ける方法も有効です。
また、画像を手作業で貼り付けると、商品コードとの対応を間違えるリスクがあります。
ファイル名と商品コードを同じにし、挿入前後で照合する運用を決めておくと安全です。
画像の連番だけで管理すると、途中で商品が追加された際に対応関係が崩れやすくなります。
【操作のポイント】画像バーコードは印刷用途に向きますが、件数が多い一覧ではフォント方式や専用システムとの使い分けが効果的です。
在庫管理表でのバーコード活用
| 商品コード | 入庫数 | 出庫数 | 現在庫 |
|---|---|---|---|
| 4901234567894 | 30 | 12 | 18 |
続いては、在庫管理表でバーコードを活用する基本的な流れを確認していきます。
バーコードを導入する目的は、入力作業を減らし、商品コードの打ち間違いを防ぐことです。
入出庫記録とコード照合
入庫や出庫のたびにバーコードリーダーで商品を読み取ると、商品コードを手入力する手間を減らせます。
多くのUSB接続バーコードリーダーは、読み取った文字列をキーボード入力のようにExcelへ送信します。
入力セルを選択してから読み取れば、商品コードがそのセルに入力されます。
読み取り後にEnterキーを送る設定にすると、次の行へ移動しやすくなり、連続入力の作業効率が上がります。
在庫数を計算する数式
在庫数は、入庫数の合計から出庫数の合計を引く形で計算できます。
入出庫履歴シートに商品コード、区分、数量を記録し、商品別の在庫一覧で集計する構成が一般的です。
入庫を正、出庫を負の数量として記録している場合、在庫一覧のD2には次のような考え方の数式を設定できます。
=SUMIF(入出庫履歴!$A:$A,A2,入出庫履歴!$C:$C)
この数式では、入出庫履歴シートのA列からA2の商品コードと一致する行を探し、C列の数量を合計します。
絶対参照のドル記号を付けた範囲は、数式を下へコピーしても変わりません。
A2だけは相対参照なので、D3へコピーするとA3の商品コードを条件に集計します。
バーコードで入力した商品コードと、マスターの商品コードの桁数や文字列形式をそろえることが集計の前提です。
商品マスターとの連携
読み取った商品コードから商品名や単価を自動表示するには、商品マスターを用意します。
商品マスターのA列に商品コード、B列に商品名、C列に保管場所を登録しておけば、検索関数で情報を呼び出せます。
入力シートのB2に商品名を表示する場合は、次の数式を使用できます。
=XLOOKUP(A2,商品マスター!$A:$A,商品マスター!$B:$B,”未登録”)
この数式はA2のコードを商品マスターのA列で探し、対応するB列の商品名を返します。
一致するコードが見つからない場合は、未登録と表示されるため、登録漏れにも気づきやすくなります。
【操作のポイント】バーコードを読み取るシートと商品マスターを分けると、日々の入力作業と商品情報の保守を整理できます。
印刷設定と読み取り精度
| 確認項目 | 推奨する確認内容 | 主な不具合 |
|---|---|---|
| 印刷倍率 | 実寸または倍率固定 | 線幅の変化 |
| 余白 | 左右に十分な白地 | 読み取り失敗 |
続いては、バーコードを印刷する際の設定と読み取り精度について確認していきます。
画面では正常に見えるバーコードでも、プリンターや用紙、拡大縮小の設定によって読み取りにくくなることがあります。
バーコード周囲の余白
バーコードの左右には、文字や罫線を置かない白い余白が必要です。
この余白はクワイエットゾーンと呼ばれ、リーダーがバーコードの開始位置と終了位置を判断するために役立ちます。
セルの罫線、商品名、別のバーコードが近すぎると、読み取りエラーの原因になることがあります。
バーコードの両端は、黒い線だけでなく周囲の白地も含めて1つの情報領域として扱いましょう。
拡大縮小とプリンター設定
ページ設定で用紙に合わせて拡大縮小する設定を使うと、線の太さや間隔が変わる場合があります。
ラベル印刷では、作成時と印刷時の倍率をできるだけ固定することが安全です。
プリンターの高画質設定、普通紙とラベル紙の違い、インク残量も読み取り結果に影響します。
印刷前には、1枚だけテスト印刷し、実際に使うバーコードリーダーで読み取る確認を行いましょう。
印刷後の検品手順
印刷したバーコードは、先頭、中間、末尾の行から複数枚を抜き取り、商品コードと読み取り結果を比較します。
ラベルを切り分ける場合は、バーコード自体を切らないことはもちろん、左右の余白も残してください。
汚れ、折れ、反射、かすれがあるラベルは読み取りにくくなります。
特に小さなラベルでは、文字サイズを下げる前にバーコードの高さと余白を優先して確保することが大切です。
【操作のポイント】印刷設定を変更した後は、同じ商品コードでも再テストを行い、読み取り品質を確認します。
まとめ エクセルでバーコードを作成する方法(表示・印刷・在庫管理)
Excelでバーコードを作成する方法は、少量の一覧表示にはバーコードフォント、印刷レイアウトを重視する場合には画像形式、英数字を含む社内管理コードにはCODE128が候補になります。
まずは使用するバーコード規格と、バーコードリーダーが対応している規格を確認することが出発点です。
在庫管理では、元の商品コード、商品マスター、入出庫履歴を分けて管理すると、読み取り後の集計や検索が安定します。
先頭のゼロが消えないよう文字列形式を使い、検索関数や集計関数で商品情報と在庫数を連携させましょう。
印刷する場合は、バーコードの左右に白い余白を残し、倍率固定で出力したうえで、実機のリーダーによるテストを行うことが欠かせません。
見た目が整ったバーコードではなく、確実に読み取れて業務に使えるバーコードを完成条件にすることが重要です。