Excelの関数VLOOKUPでバーコードの品名を表示する
1.はじめに
お客様から、パソコンにUSBバーコードリーダーのデータはパソコンにどのように入力するのか、お問い合わせをいただくことがあります。
「USBバーコードリーダーの入力はキーボードの入力と同じ」がご回答です(※)。
このページでは、バーコードリーダーとキーボードの入力が同じことをご理解いただくため、エクセルの関数を使ってご説明します。
ご了承下さい
Excelはマイクロソフト社の製品です。Excelについてのお問い合わせは弊社ではお受けいたしかねます。使用方法については、アプリケーションのヘルプや市販の解説書を参照してください。
※本文はUSB HIDキーボードインターフェースおよびBluetooth HIDのバーコードリーダーの説明となります。すべての機器環境が本文にあてはまるものではありません。特定の機器やシステムでしか動作しない製品もあります。
2.Excelの関数VLOOKUPでバーコードの品名を表示する
バーコードデータを入力する[商品入力]シートを作成する
バーコードリーダーで読み取ったバーコードを入力していく画面を作成します。
Excel 2016を立ち上げる→[Sheet1]の名前を[商品入力]に変更します。→A1に[商品コード]、B1に[品名]、C1に[単価]と入力します。
元のデータとなる[商品マスター]シートを作成する
バーコードを読み取ったら表示する内容の元となる画面を用意します。
[Sheet2]の名前を[商品マスター]に変更します。→A1に[商品コード]、B1に[品名]、C1に[単価]と入力します。※商品コードはバーコードが表示する文字を入力します。→A2、B2、C2以下に、商品コードと、表示したい内容となる品名と単価を入力します。
[商品入力]シートに関数を入力する
品名を自動的に表示するセルに関数を入力します。[B2]セルに次の関数を入力します。※セルに直接関数を入力するか、[Fx]アイコンで関数のダイアログを開いて値を入力します。
=VLOOKUP(A2,商品マスター!$A$2:$C$11,2,FALSE)
単価を自動的に表示するセルに関数を入力します。[C2]セルに、[B2]の関数をコピーして貼り付けます。途中にある「2」を「3」に書き換えます(赤文字の箇所)※商品マスター中の3列目を検索する意味
=VLOOKUP(A2,商品マスター!$A$2:$C$11,3,FALSE)
[B2]セルの関数と[C2]セルの関数を下の方のセルにコピーします。関数があるセルは#N/Aと表示されます。
商品コードをキーボードで入力する(手入力)
[商品入力]シートを開きます→[A]列のセルに、パソコンのキーボードから商品マスタにある商品コードを入力します。→Enterキーを押します→[B]列に品名、[C]列に単価が表示されます。
商品コードのバーコードをバーコードリーダーで読み取る
[商品入力]シートを開きます→[A]列のセルにカーソルを合わせます→バーコードリーダーで商品コードを表示したバーコードを読み取ります→[B]列に品名、[C]列に単価が表示されます。(上図と同じ結果になります)
なお、バーコードリーダーは自動的にEnterキーを送信することができます。読み取ったら手入力でEnterキーを押したときと同じく、カーソルが下のセルに移動します。
まとめ
「商品コードをキーボードで入力する(手入力)」と「商品コードのバーコードをバーコードリーダーで読み取る」が同じ動作になりました。手入力とバーコードリーダーの入力は同じといえます。
以上の説明から、バーコードリーダーは特別なプログラムは不要で、キーボード入力の代わりに利用できることがご理解いただけたと思います。
バーコードが正しく入力しないときは
バーコードを読み取ると、図のようにバーコードのデータが正しく入力しないときがあります。
例:英文字がひらがなになる、半角文字が全角文字になる、など。
解決方法は、言語バーを直接入力に設定する、Excelのデータ入力規則の日本語入力を無効にする、などがあります。
詳しい解決方法は下記のページをお読み下さい。
おまけ:#N/Aを空白にする
関数を設定したセルは、[A]列に商品コードがなければ#N/Aと表示します。#N/Aが気になる場合は、次の関数で空白にできます。※セルの数値は適宜読み替えてください
Excel 2007以上
=VLOOKUP(A5,商品マスター!$A$2:$C$11,2,FALSE)にIFERRORを追加します。
=IFERROR(VLOOKUP(A5,商品マスター!$A$2:$C$11,2,FALSE),"")
Excel 2003,2002,2000
=VLOOKUP(A6,商品マスター!$A$2:$C$11,2,FALSE)にIFとISNAを追加します。
=IF(ISNA(VLOOKUP(A6,商品マスター!$A$2:$C$11,2,FALSE),"",VLOOKUP(A6,商品マスター!$A$2:$C$11,2,FALSE))