
EXCELで商品コードから商品名を自動入力する
EXCELで作成した売上表では、データの入力を楽にして、入力ミスを防ぐために商品コードを割り振って管理することがあります。
しかし、商品コードは一般的には無意味な文字と数字だけで構成されているため、覚えにくいため、毎回別の商品一覧を参照しながら入力している方も多いと思います。
ただし、この方法では入力に時間がかかり、手作業による入力ミスも起こりやすくなります。
そこで便利なのが、EXCELの選択リスト機能を使う方法です。
選択リストを使えば、プルダウンメニューから商品コードを選択するだけでセルに入力できるようになります。
さらに、商品コードを選択すると、商品名や単価が自動入力されるように設定すれば、入力の作業効率が大幅に上がります。
今回のブログ記事では、EXCELで商品コードの選択リストを作り、そこから商品コードを選択したら、商品名や単価が自動的に入力させる方法をご紹介します。
今回は以下の表を使用して解説します。

この表は、テーブルにしてください。
表をテーブルにする方法は、以下の記事にかいてありますので、分からない方は御覧ください。


EXCELで商品コードから商品名を自動入力する方法
①商品一覧シートの商品コードの列の名前を入力する
商品コードが入っているA3~A13を範囲選択します。

左上にある名前ボックスに、名前を入力し、ENTERキーを押します。
今回は商品コードにしました。

②売上データの商品コードの入力セルに商品名の選択リストが表示されるようにする
売上データのシートに切り替えます。

商品コードの入るD3~D8を範囲選択します。

データタブを選択し、データの入力規則をクリックします。

「データの入力規則」ダイアログボックスが現れるので、入力値の種類をリストにします。

元の値にカードルを置き、F3キーを押します。
すると「名前の貼り付け」ダイアログボックスが現れるので、先ほどつけた商品コードを選択しOKボタンをクリックします。

「データの入力規則」ダイアログボックスのOKボタンをクリックします。

商品コードを入れるセルの最初のセルのD3を選択すると、右横にフィルターボタンが現れます。

フィルターボタンをクリックすると、選択リストが現れ、お好きなものを選ぶと、商品コードが入力されます。


③選択リストで商品コードを選択すると、商品名が自動的に入力されるようにする
選択リストで商品コードを選択すると、商品名が自動的に入力されるようにするには、VLOOKUP関数を使用します。
今回はわかりやすく説明するために、関数の挿入を利用して説明します。
最初に、商品名が表示されるセルE3をクリックします。

関数の挿入のボタンをクリックします。

「関数の検索」の入力欄にVLOOKUPと入力し、検索開始ボタンをクリックします。

すると関数名にVLOOKUPが現れるので、選択しOKボタンをクリックします。

「関数の引数」ダイアログが現れます。
検索値にカーソルを置き、商品コードの最初のセル(ここではD3です)を選択します。
すると検索値に[@商品コード]と入力されます。

範囲にカーソルを置き、商品一覧のシートの商品コード、商品、単価のデータが入っているA3:C13を範囲選択します。
すると範囲に商品一覧!A3:C13と入力されます。

列番号は、商品コードと商品名と単価が入っているセル範囲の1列目の型番で検索し、2列目の商品名を表示させるので、2になります。
並び替えは、完全に一致した商品名を表示させたいので0です。
「関数の引数」ダイアログは、以下のようになります。

OKボタンを押します。

しかし、VLOOKUP関数のままだと、商品コードを入力していない場合、#N/Aとエラー表示が出るため、IFERROR関数を使って、商品コードを入力していない場合は空白にします。
VLOOKUP関数の式を以下のように書き直します。
=IFERROR(VLOOKUP([@商品コード],商品一覧!A3:C13,2,FALSE),"")

これで商品コードを選択リストから選択すると、隣のセルに商品が表示されます。


③選択リストで商品コードを選択すると、商品名と一緒に単価も自動的に入力されるようにする
②と同じ作業でVLOOKUP関数の設定を行いますが、以下のように、列番号は、商品コードと商品名と単価が入っているセル範囲の1列目の型番で検索し、3列目の単価を表示させるので、3にしてOKボタンを押してください。

しかし、VLOOKUP関数のままだと、商品コードを入力していない場合、#N/Aとエラー表示が出るため、IFERROR関数を使って、商品コードを入力していない場合は空白にします。
VLOOKUP関数の式を以下のように書き直します。
=IFERROR(VLOOKUP([@商品コード],商品一覧!A3:C13,3,FALSE),"")
これで商品コードを入力すると、商品名と単価が自動的に入力されます。



