以前、ガイド記事「VLOOKUP関数の使い方」では、VLOOKUP関数を使って、1つの表からデータを取り出す方法を紹介しました。今回は、複数の表が作成されていることを想定し、条件によって取り出す表を切り替える、という定番テクニックを紹介します。

VLOOKUP関数の復習

まず、簡単にVLOOKUP関数の使い方について復習しておきましょう。VLOOKUP関数は、表からデータを取り出す関数でしたね。「表の左端列」を検索して、取り出したいデータが含まれている行を絞り込み、その行の「左端から何列目」のデータを取り出すかを指定しました。そして、取り出したデータは、VLOOKUP関数を入力したセルに表示されたのでした。

[A9]のセルでNoを検索すると、上の表からコース名と料金が検索され、自動的に表示される

[A9]のセルでNoを検索すると、上の表からコース名と料金が検索され、自動的に表示される

こちらの画像では、[A9]のセルにNoを打ち込むと、[B9]、[C9]のセルへ検索されたコース名と料金が自動的に表示されます。このときの数式は

B9のセル:=VLOOKUP(A9,A2:E6,2,FALSE)
C9のセル:=VLOOKUP(A9,A2:E6,4,FALSE)

です。()の中は「検索値,範囲,列番号,[検索方法]」を指定しています。検索方法の「FALSE」は完全一致を表します。


また、検索するデータ欄が空白のときに「#N/A」エラーが表示されないよう、IF関数を組み合わせて数式を記述しました。

[A9]のセルが空白のときに、「#N/A」エラーが表示されないようにしたい

[A9]のセルが空白のときに、「#N/A」エラーが表示されないようにしたい

「#N/A」エラーを表示させないために、[B9]、[C9]のセルを以下のように書き換えましょう。
B9のセル:=IF(A9="","",VLOOKUP(A9,A2:E6,2,FALSE))
C9のセル:=IF(A9="","",VLOOKUP(A9,A2:E6,4,FALSE))

※ここまでの内容について、より詳しく知りたい場合は、ガイド記事「VLOOKUP関数の使い方」をご覧下さい。



今回の組み合わせ技で実現することとは?

さて。今、ご覧頂いたサンプルでは、検索される表が1つでした。今回は、参照したい表が複数あって、「ある条件のときはA表から、別の条件のときはB表からデータを取り出す」というように、条件によって取り出し元の表を切り替える、といったことを考えます。
条件によって参照する表を変更したい。こちらでは「一般コース」と「夜間コース」、2つの表を参照したい

条件によって参照する表を変更したい。こちらでは「一般コース」と「夜間コース」、2つの表を参照したい