VLOOKUP関数を使って表を作りたいのですが、検索する範囲が複数ページあります。
検索する範囲が1ページの時は例えば、 =vlookup(A1,シート名!A2:B10,2) でイイと思うのですが、複数ページある場合はどのように範囲を指定すればいいのでしょうか?

エクセル関数について検索できるお勧めのホームページでもいいので、どなたか教えて下さい。
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (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)と入力すると検索が出来ます。
    • good
    • 0

#1の示唆に富んだ、ご回答を追試しました。


ただテーブル部は、もし式を複数セルで使う(複写する時は。下記D1:D5の場合のように)、$を付け絶対番地にしないと、正しい値にならないのではないでしょうか。
(データ)
Sheet4のA1:B5
a1
b2
c3
d4
e5
Sheet5のA1:B5
f6
g 7
h 8
i9
j10
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
と正しく出ました。
    • good
    • 0

=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を検索に行きます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/10/29 21:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報