7/30/2014

Excel。VLOOKUP関数。その8 テーブルを範囲に使うと拡張性が大幅アップ


Excel。VLOOKUP関数。その8 
テーブルを範囲に使うと拡張性が大幅アップ

VLOOKUP関数+名前の定義+テーブル


VLOOKUP関数を説明したものって、色んなテキストをみても、
IF+VLOOKUP関数を使ってエラーを表示しないとかは、多くありますが、
どんなものでも、現在の商品数までで、VLOOKUP関数をつかって、ピックアップするというのは、かわりはないように思います。

ただ、現場でVLOOKUP関数を使うとすると、当然のことながら、
商品数が増えるという事を考えてあげないといけないわけです。

要するに、VLOOKUP関数の範囲で設定したリストに商品アイテムが増えるたびに、いちいち、VLOOKUP関数を修正しているのは、面倒なので、何かアイディアはないかな?ということが、
あまり書かれていないように思います。

そこで、今回は、前回紹介した、名前の定義にさらにテーブルを設定すると、
拡張性がアップして、
商品アイテムが増えた場合でもVLOOKUP関数を修正しなくてもよくなります。

まず、名前の定義もしてない、ただ単に、VLOOKUP関数を設定している場合、
商品アイテムが増えた場合は、どこを修正することになるかというと、
ズバリ、範囲を全部修正しないといけないわけですね。

つづいて、名前を定義してあった場合はというと、
今度は、この名前の定義をされている範囲を直してあげる必要があるわけです。

また、関数を直接的に修正しないで済むのと、VLOOKUP関数の数式がある場所が多い場合は、この名前の定義でも十分に修正個所が少なくなります。

ただ、どっちにしても、商品アイテムが増えれば、その範囲を修正しないといけないわけですね。

ところが、名前の定義とテーブルを使うと、わかりやすく、しかも、なにも修正しないで、
ただ、商品アイテムを追加すればいいだけになるのです。

では、早速やってみましょう。まず確認をしておきましょう。

C4には、=IF(B4="","",VLOOKUP(B4,リスト,2,FALSE)) 
という数式が設定されています。
そして、B4には、入力規則のリストが設定されていましたね。


それでは、商品マスターシートに移動しましょう。
A1:C5に表がありますね。
これをテーブルとして設定していきます。
A1を範囲選択して、挿入タブに移動して、テーブルをクリックしましょう。

テーブルに設定するときは、ワザワザ範囲設定をしなくても、Excelがルールに基づき、
範囲選択をしてくれます。

あとは、OKボタンをクリックしましょう。

これで、テーブルになりました。

まぁ、テーブルのデザインとかは、お任せするとして、
では、このテーブルに新しいアイテムを普通に追加してみたいと思います。
今回は、
商品コードがBR-500
商品名がミカン
単価が180円

入力が出来たら、納品書シートに戻ります。
早速、B4をクリックして、入力規則を確認してみましょう。
なんと、BR-500が入っていますよね。

ここには、商品コードという名前が設定されていて、
この商品コードと入力規則のコラボレーションテクニックだったのですが、
テーブルにしたことによって、商品コードの範囲が自動的に拡大された為に、
BR-500が入ってきたわけです。

当然、BR-500を選択してみると、商品名に、ミカンと表示されましたね。

C4の数式はいじってないことが確認できますね。
=IF(B4="","",VLOOKUP(B4,リスト,2,FALSE)) 

どうです。ここまで設定すると、VLOOKUP関数の修正をすることなく、
ただアイテムを追加しても、全部何も修正することがない、
拡張性と効率面を考慮した資料が出来るわけです。

実際の仕事はこういう所まで、必要になりますよね。
ですが、どうしてもテキストは断片的なものになってしまいます。

これは、致し方ない所もあります。

ですので、私が担当する講義では、企業研修であれ、職業訓練であれ、
現場レベルのノウハウを取り入れるようにして、講義している訳です。

次回は、VLOOKUP関数の範囲が複数だったらどうしたらいいのか?
ということに関して以前書いてみましたが、再度、書いてみたいと思います。