Excel。今ふたたびのVLOOKUP関数。アイテムが増えたら数式直すのが面倒なんですが…
<名前の定義とテーブル>
VLOOKUP関数の数式の作り方は、それほど難しくないのですが、実際の現場レベルで運用するとなると、面倒なことが発生します。次の表はVLOOKUP関数を設定してありますので、確認してみましょう。
C列には、
=IF(B2="","",VLOOKUP(B2,リスト!$A$2:$C$4,2,FALSE))
という数式が設定済みです。
B列には、入力規則のリストを使って、入力ミスの抑制と入力作業の緩和をしています。
そして、別のシートに商品リストがあります。
【商品が増えたら範囲を修正】
ExcelのVLOOKUP関数としては、IF+VLOOKUP関数にしているなど、エラーも発生しないので、問題はありませんが、現場レベルでは、大問題が潜んでいます。それは単純なことで、商品アイテムが増えたらどうするの?ということです。
別にVLOOKUP関数の引数の範囲を拡張するのと、入力規則のリストの範囲も拡張する必要があります。別に大した処理ではありませんが、VLOOKUP関数を設定してる箇所が多いと修正箇所も増えるので、面倒です。
【名前の定義をつかってみる】
そこで、範囲に「名前」を設定してみましょう。今回は2か所設定します。一つ目は、A2:A4を範囲選択して、名前ボックスをクリックして、「名前」=あだ名を入力することで設定できます。
今回は、『入力コード』としました。見出し名と被らないようにするといいですね。
この一つ目は、入力規則のリストの為です。
二つ目も設定してきましょう。
A2:C4を範囲選択して、『商品リスト』と名前を設定します。
【数式を「名前」を使って修正する】
数式を修正していきます。VLOOKUP関数ダイアログボックスを表示しましょう。
範囲を一度削除して、数式タブの「数式で使用」にある、商品リストをクリックします。
ダイアログボックスはOKをクリックして、数式が次のように変わったことを確認してみましょう。
=IF(B2="","",VLOOKUP(B2,商品リスト,2,FALSE))
このように、範囲を設定した「名前」で置き換えても、結果は変わりません。
入力規則のリストも修正します。
B2:B4を範囲選択して、データの入力規則のダイアログボックスを表示します。
元の値に、先程と同様に、数式タブの「数式で使用」にある、入力コードを選択します。
そして、OKボタンをクリックします。
あと少し処理をすれば、完成します。
今やっているのは、範囲に名前を付けただけにすぎません。
結局商品アイテムが増えれば、設定した名前の範囲を修正しなければいけません。
それでは、中途半端な改善になってしまいます。
【テーブルにする】
商品アイテムの表をテーブルにします。これで、完成します。では、シートを移動して、A1をクリックして、挿入タブから「テーブル」を選択します。
すると、テーブルの作成ダイアログボックスが表示されますので、OKボタンをクリックします。
表がテーブルになりました。
これで、商品アイテムが増えても、数式を修正する必要はありません。
このように、名前の定義とテーブルを組合すことで、作業効率を改善することができます。