7/19/2014

Excel。VLOOKUP関数。その5 入力規則は名前の定義でどのバージョンでも使用可能


Excel。VLOOKUP関数。その5 
入力規則は名前の定義でどのバージョンでも使用可能

VLOOKUP関数+入力規則+名前の定義


前に、VLOOKUP関数の検索値のところに、入力規則のリストを使うと、入力ミスを防げたり、
入力の効率を改善出来たりするお話をしました。

ただ、その方法だと、Excel2010以降でないと使えない訳です。そこで名前の定義を使って、Excel2007以前でも出来る方法をご紹介したいと思います。

今回ご紹介する名前の定義は、今後紹介していく拡張性への”布石”ですので、
まずは、名前の定義を使っての【入力規則のリスト】は、知っておきたいスキルの1つです。

このスキルは、職業訓練でも、企業研修でも、必ずと言っていいほど、ご紹介しております。

さて、前回のVLOOKUP関数で紹介したファイルを引き続き使って紹介していきます。

納品書シートに納品書があって、B列は商品コード。
このB4:B19に入力規則のリストが設定しております。

C列は商品名。このC4:C19には、IF+VLOOKUP関数の数式が設定されています。
C4には、
=IF(B4="","",VLOOKUP(B4,商品マスター!$A$2:$C$5,2,FALSE))
という数式が設定されています。
そして、もう一枚のシートがありまして、VLOOKUP関数の範囲で使っているデータが、
商品マスターシートにあります。

さて、納品書マスターのB列に設定されている、【入力規則のリスト】を確認してみましょう。
B4:B19を範囲選択して、データタブのデータの入力規則をクリックしましょう。

元の値には、
=商品マスター!$A$2:$A$5
と入力されています。この元の値に名前の定義を使ってアレンジすることによって、
Excel2007以前でもリストが使えるようになります。

では、この【入力規則のリスト】の設定をクリアしておきますので、
すべてクリアボタンをクリックして、OKボタンをクリックしておきましょう。

それでは、まず名前の定義をやっていきます。
商品マスターシートに移動します。
そして、A2:A5を範囲設定し、名前ボックスをクリックします。

このA2:A5の範囲の名前、ニックネームみたいなものを設定します。
わかりやすいように、今回は、【商品コード】で設定します。

これで、A2:A5に、商品コードという名前が設定されました。
そして、この名前を使って【入力規則のリスト】を設定してきましょう。

納品書シートに戻り、B4:B19を範囲選択して、データタブの入力規則をクリックして、
データの入力規則ダイアログボックスを表示しましょう。

入力値の種類をリストにして、元の値をクリックします。
そうしたら、数式タブし、定義された名前にある、【数式で使用】から商品コード選択します。

選択すると、元の値に、=商品コード と表示されます。あとはOKボタンをクリックして、完成です。


たった、これだけなのですが、これが拡張性ということを考えた場合、
有効なテクニックになるわけです。

B4をクリックして確認してみましょう。
ちゃんと、リストになっていますよね。


では、先程から出ている、【拡張性】とはどういうことなのでしょうか?
テキストや講義などでは、どうしてもVLOOKUP関数を作れること。
または、エラーを表示させないように、IF関数+VLOOKUP関数のネストの紹介ということが多いのですが、現場レベルにおいて、商品が増えないということは考えにくいと思われます。

つまり、商品が増えた場合、どれだけ修正個所を少なくすることができるのか?
という事が大切になるわけです。

ただ、IF関数+VLOOKUP関数が出来ました。パチパチパチ…という訳にはいかないのです。

修正個所を少なくするという事は非常に大切な事で、
修正する箇所が多いとそれだけ、修正時にミスを起こしてしまう可能性が高くなってしまいます。

今回の【入力規則のリスト】では、前回ご紹介したExcel2010以降の範囲選択による方法でも、
今回ご紹介したExcel2007以前の方法でも、
商品が増えた場合の作業量的としては大差がありませんが、
関数を修正する場合は、その差が出てきますので、

次回は、IF+VLOOKUP関数の、範囲に名前の定義を使って、確認していきたいと思います。