dポイントプレゼントキャンペーン実施中!

VLOOKUP関数の範囲を自動変更させる
データベースをエクセルで作成し下方に1行づつ増やすしていきたい。
VLOOKUP関数の(検索値、範囲、列番号、検索方法)の内で、範囲の設定部分を超えるとVLOOKUP関数の結果が合わなくなってしまします。
EXCEL2007では、テーブルとして書式設定を選びそれを範囲に選ぶか或いは名前付き定義を付けると範囲が自動で増えるのですが、同じことをEXCEL2002と2003でもできるようにはならないでしょうか?

「VLOOKUP関数の範囲を自動変更させる」の質問画像

A 回答 (5件)

検索範囲が増減する場合はoffset関数を利用して選択範囲を指定すると対応できます


検索範囲を
OFFSET(範囲の左上セル,0,0,COUNTA(A:A),範囲の列数)
などと指定します
データー数が増えた場合自動で範囲が拡大されます、A列に検索のデータ以外が含まれる場合はその数を引くことで範囲を確定できます

例:A列の検索するデーター以外に何か(項目名等)が入力されているセルが3つある場合
=VLOOKUP(検索値,OFFSET(A3,0,0,COUNTA(A:A)-3,範囲の列数),列番号,0)
    • good
    • 0

画像からはほとんど読み取れませんが、こんなのでも良いのかもしれませんね


B2セルに =INDEX(B:B,5+$A2)
右へオートフィル、ただし、連番が条件です。


ちなみに、OFFSETを使わずにセル範囲を可変にする場合でこんな書き方あります
$A$1:INDEX($E:$E,COUNT($A:$A)+1)
参考まで
    • good
    • 0
この回答へのお礼

ありがとうございました。いろいろなやり方があるんですね。参考にさせてください。

お礼日時:2010/05/30 23:56

挿入メニューの名前の定義で定義済み名前を確認すると


 名前 参考
 参照範囲 =Sheet1!$A$5:$F$12
などのようになっていると思います。
この参照範囲の中で数式を使い,現在の範囲を計算させてしまいます。

作成例:
 名前 参考
 参照範囲 =OFFSET(Sheet1!$A$6,0,NOW()*0,COUNT(Sheet1!$A$6:$A$9999),6)

利用例:
=VLOOKUP(A2,参考,COLUMN())
    • good
    • 0
この回答へのお礼

ありがとうございます。参考にさせていただきます。

お礼日時:2010/05/31 00:00

=VLOOKUP(検索値,B:D,列番号、検索方法)



などのように列全体を範囲指定すればいかがでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございました。参考にさせていただきます。

お礼日時:2010/05/31 00:01

画像が小さくてシートや数式の内容がわかりませんが、一般的にVLOOKUP関数のセル範囲を列全体または大きめのデータ範囲にすれば、データの増加に対応することができます。



もし、上記の回答がご質問の趣旨と違うなら、実際に入力している(結果が合わなくなる)VLOOKUP数式を具体的に提示してください。

この回答への補足

画像が小さく失礼いたしました。
行をあらかじめ大きくなることを推定して、最大行数を範囲とするというやり方も参考にさせていただきます。

補足日時:2010/05/30 23:39
    • good
    • 0

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