アプリ版:「スタンプのみでお礼する」機能のリリースについて

VLOOKUP関数の範囲をセルで指定したいと思っています。

B1:参照シート名(VLOOKUP関数で使用する範囲があるシート)
C2:範囲の開始位置
E2:範囲の終了位置
B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、
D3の値は、D6:D8の範囲で使用する列番号)

これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を
反映させたいと思っています。


例えば、
B1に参照シート名「2ケタ」
C2にVLOOKUP関数の範囲の開始位置「A5」
E2にVLOOKUP関数の範囲の終了位置「G7」
B3に範囲の列番号「2」がある場合

B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。


B2に参照シート名「3ケタ」
C5にVLOOKUP関数の範囲の開始位置「B5」
E2にVLOOKUP関数の範囲の終了位置「H7」
C3に範囲の列番号「3」がある場合

C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。

といった感じです。


現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と
関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は
セルから持ってくることができました。

しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。

どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

「VLOOKUP関数の範囲をセルで指定した」の質問画像

A 回答 (2件)

まぁ、一度落ち着きましょう。

文字列結合演算子「&」は判ってる
んですから、B1とC2とE2にある文字列を結合して検索範囲を作るの
は indirect($B$1&"!"&$C$2&":"&$E$2)でいいんですよ。それか
ら、B3の中身はセル番地を表す文字列じゃなくてタダの数値ですか
ら、indirect($B$3)はエラーになるでしょう。
「VLOOKUP関数の範囲をセルで指定した」の回答画像2
    • good
    • 1
この回答へのお礼

参考にして、行いたいことができるようになりました。
ありがとうございました!

お礼日時:2010/06/20 19:21

「=VLOOKUP(A6,INIRECT("'"&$B$1$"'!"&$C$2&":"&$E$2),B$3,0)」

この回答への補足

すみません。

関数を貼り付けてみましたが、数式が正しくないというエラーが出てしまいます。
INIRECT を INDIRECT に変えてもうまくいきませんでした。

「"」の数や位置をいろいろと変えてもうまく行きませんでした。

もう一度見ていただけないでしょうか。

補足日時:2010/06/20 18:55
    • good
    • 0

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