• ベストアンサー

エクセル関数についての質問です。

VLOOKUP関数を使って表を作りたいのですが、検索する範囲が複数ページあります。 検索する範囲が1ページの時は例えば、 =vlookup(A1,シート名!A2:B10,2) でイイと思うのですが、複数ページある場合はどのように範囲を指定すればいいのでしょうか? エクセル関数について検索できるお勧めのホームページでもいいので、どなたか教えて下さい。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • beer55
  • ベストアンサー率33% (7/21)
回答No.3

おはようございます。 VLOOKUP関数で検索する範囲が複数ページがある場合には、「メニューバー」→「挿入」→「名前」→「定義」で名前を付け、参照範囲を指定します。 VLOOKUP(検索値,範囲,列番号,[検索の型])関数の「範囲」に「名前の定義」を入力します。 「名前の定義」を行わない場合は、CHOOSE関数を使用し、INDIRECT関数の引数にCHOOSE関数を指定します。 [例] Sheet2からSheet5の各A2:B10にデータが入力されていることとします。 SHeet1のA1は商品名、B1はパターン、C1は参照範囲、D1は検索結果との各見出しとします。 A2に商品名を入力、 B2に「1」から「4」の数値を入力、 C2に=CHOOSE(B2,"Sheet2!A2:B10","Sheet3!A2:B10","Sheet4!A2:B10","Sheet5!A2:B10")と入力 D2に=VLOOKUP(A2,INDIRECT(C2),2,0)と入力すると検索が出来ます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1の示唆に富んだ、ご回答を追試しました。 ただテーブル部は、もし式を複数セルで使う(複写する時は。下記D1:D5の場合のように)、$を付け絶対番地にしないと、正しい値にならないのではないでしょうか。 (データ) Sheet4のA1:B5 a 1 b 2 c 3 d 4 e 5 Sheet5のA1:B5 f 6 g 7 h 8 i 9 j 10 Sheet4のC1:C5に c f g d b と入れる。 sheet4のD1に =IF(ISERROR(VLOOKUP(C1,Sheet4!$A$1:$B$5,2,FALSE)),VLOOKUP(C1,Sheet5!$A$1:$B$5,2,FALSE),VLOOKUP(C1,Sheet4!$A$1:$B$5,2,FALSE)) といれ、D5まで複写。 D1:D5に 3 6 7 4 2 と正しく出ました。

  • HageoyaZ
  • ベストアンサー率38% (60/154)
回答No.1

=IF(ISERROR(VLOOKUP(A1,Sheet1!A1:B3,2,FALSE)),VLOOKUP(A1,Sheet2!A1:B3,2,FALSE),VLOOKUP(A1,Sheet1!A1:B3,2,FALSE)) 上記の例では Sheet1に検索値がなければ、Sheet2を検索に行きます。

bisai
質問者

お礼

有難うございます。 早速試してみます。

関連するQ&A