【EXCEL | ノート】2つのシートからVLOOKUPで検索したい!

スポンサーリンク

2つのシートからVLOOKUPで検索したい!

VLOOKUP関数は、表(範囲)の中から指定のキーを元に、同じ行にある指定の列のデータを返すおなじみの関数です。

VLOOKUP関数が分からない方は次の記事をどうぞ。

ただ、キーを元にデータを探す範囲を指定出来るのは1つなので、2つ以上の範囲を横断して探したい場合は一工夫が必要です。

今回は、そんな場合に使える方法を紹介します!

やり方

サンプル

  • 第1営業部シート
  • 第2営業部シート
  • 検索シート

の3つのシートで出来たスプレッドシートです。

第1営業部シート

第2営業部シート

検索シート

検索シート上で、A1セルに社員番号を入力するとB2セルにその社員の名前が出るというものを作ります。

IFERROR関数を使う

2つのシートにある範囲から、VLOOKUPで検索するには、IFERROR関数を使います。

IFERROR関数は、入力されている値や数式がエラーかどうかを判別して、エラーじゃなかった場合とエラーだった場合の挙動を分けることが出来る関数です。

構文

= IFERROR( 値/数式, エラーの場合の値/数式)

ちなみに、エラーはこんなやつです。

  • #N/A
  • #VALUE!
  • #REF!
  • #DIV/0!
  • #NUM!
  • #NAME?
  • #NULL!

VLOOKUP関数も、範囲を検索して値が見つからなかった場合は、#N/Aのエラーを返しますので、ちゃんと反応出来ます!

つまり、「値/数式」のところに「第1営業部」シートの範囲を指定したVLOOKUP関数を入力して、それがエラーだった場合は、「エラーの場合の値」のところに、「第2営業部」シートの範囲を指定したVLOOKUP関数を書けば、2つのシートを横断して検索をかけることが出来ます(^^)

この方法で言えば、3シート、4シートと複数シートにまたがった検索も出来ますよ!

それでは、検索シートのB2セルに次の数式を入力してみます。

= IFERROR( VLOOKUP( A2, 第1営業部!A2:B4,2,0 ), VLOOKUP( A2, 第2営業部!A2:B4, 2, 0 ))

ぱっと見は複雑ですが、IFERROR関数の引数「値/数式」に、VLOOKUP( A2, 第1営業部!A2:B4,2,0 ) 「エラーの場合の値/数式」にVLOOKUP( A2, 第2営業部!A2:B4, 2, 0 ) が入ってるだけですね。

社員番号を入力して結果が正しく表示されるか確認してみましょう。

バッチリですね!

まとめ

2つのシートからVLOOKUPで検索したい!ときの方法を紹介しました!関数側でこのように処理することで、元のデータを分かりやすく整理することが出来ますね(^^)