7/22/2014

Excel。VLOOKUP関数。その6 範囲に名前の定義を使って拡張性を高める


Excel。VLOOKUP関数。その6 
範囲に名前の定義を使って拡張性を高める

VLOOKUP関数+名前の定義


IF関数+VLOOKUP関数のネストによって、エラーも回避することが出来るようになりまいたが、
前回にも書きましたように、現場では、この数式を作って終わりではなくて、使っていくわけですね。そこで、商品アイテムが増えた場合のことを考えておかないと、
実際には便利に使えるとまではいえませんね。

商品アイテム数が増えた場合、VLOOKUP関数のどこを修正しなければならないのかというと、
範囲が該当するわけです。今回使用している納品書のように、
VLOOKUP関数が一か所ならば、修正個所も一つで済むわけですが、
これが、複数個所あった場合、いちいち、それを全部直すというのは、大変ですし、
効率的にも、またミスを発生することからも、出来れば、敬遠したい作業です。

そこで、今回ご紹介するのは、VLOOKUP関数の範囲の箇所に名前の定義を使って、
名前を設定して、それを使って、VLOOKUP関数を作ることによって、
商品アイテム数が増えた時、すなわち拡張性を持たせた、
VLOOKUP関数の数式を作っていきます。

まず、Excelファイルの状況を確認しておきましょう。

納品書シートには、納品書があり、
C列の商品名には、IF関数+VLOOKUP関数の数式が設定されています。
C4には、
=IF(B4="","",VLOOKUP(B4,商品マスター!$A$2:$C$5,2,FALSE))
というIF関数+VLOOKUP関数が設定されています。

また、商品マスターシートには、範囲である。商品リストがあります。

前回は、商品コードに名前の定義を行いましたが、今回は、範囲に名前の定義をしていきます。

まず、商品マスターシートに移動して、
A2:C5までを範囲選択して、名前ボックスをクリックして、リストと入力しましょう。

そうしたら、納品書シートに戻って、C4に設定されている数式を修正していきましょう。

折角、IF関数+VLOOKUP関数が設定されていますので、一から数式を作るのは、
もったいないので、今回は、修正していくことにします。

C4をクリックして、fxの関数の挿入ボタンをクリックすると、IF関数のダイアログボックスが表示されていきます。

数式バーのVLOOKUPという文字の上にマウスを持っていき、クリックすると、ダイアログボックスが、VLOOKUP関数のダイアログボックスに変わります。

高度な関数や、複雑なネスト構造の関数をダイアログボックスで修正する場合には、
数式バーの関数名をクリックしますと、その関数のダイアログボックスが表示されるようになっていますので、数式バーで手入力で修正するのが、苦手な方や、初心者の方は、
こちらのダイアログボックスのやり方を覚えておくといいでしょう。

そうしましたら、範囲をいったん削除して、範囲のボックスを空にしておきます。

数式タブの定義した名前にある、【数式で使用】から、リストを選択しましょう。
範囲に、リストと入力されたことを確認してOKボタンをクリックしましょう。

これによって、今後商品アイテム数が増えた場合は、関数の範囲を修正する必要はなく、
名前の定義で設定した、名前の範囲を修正してあげるだけで、大丈夫になります。

名前の定義の範囲を変更するには、名前の管理をクリックして、ダイアログボックスを使って、
修正していきます。


しかし、いちいち、商品アイテム数が増えたら、この名前の管理を使って、
修正をするのは面倒ですし、やはりミスや効率化としては、どうなのかな?と。

そこで、テーブルを使ったら…ということで、テーブルを使ったテクニックを紹介していきます。
と、その前に、VLOOKUP関数はブック間でも出来るのかを確認してみたいと思います。