- ベストアンサー
エクセル関数についての質問です。
VLOOKUP関数を使って表を作りたいのですが、検索する範囲が複数ページあります。 検索する範囲が1ページの時は例えば、 =vlookup(A1,シート名!A2:B10,2) でイイと思うのですが、複数ページある場合はどのように範囲を指定すればいいのでしょうか? エクセル関数について検索できるお勧めのホームページでもいいので、どなたか教えて下さい。 お願いします。
- みんなの回答 (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)
#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)
=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を検索に行きます。
お礼
有難うございます。 早速試してみます。