• ベストアンサー

VLOOKUP関数の範囲を自動変更させる

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

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

検索範囲が増減する場合はoffset関数を利用して選択範囲を指定すると対応できます 検索範囲を OFFSET(範囲の左上セル,0,0,COUNTA(A:A),範囲の列数) などと指定します データー数が増えた場合自動で範囲が拡大されます、A列に検索のデータ以外が含まれる場合はその数を引くことで範囲を確定できます 例:A列の検索するデーター以外に何か(項目名等)が入力されているセルが3つある場合 =VLOOKUP(検索値,OFFSET(A3,0,0,COUNTA(A:A)-3,範囲の列数),列番号,0)

その他の回答 (4)

回答No.5

画像からはほとんど読み取れませんが、こんなのでも良いのかもしれませんね B2セルに =INDEX(B:B,5+$A2) 右へオートフィル、ただし、連番が条件です。 ちなみに、OFFSETを使わずにセル範囲を可変にする場合でこんな書き方あります $A$1:INDEX($E:$E,COUNT($A:$A)+1) 参考まで

fukuoka1
質問者

お礼

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

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

挿入メニューの名前の定義で定義済み名前を確認すると  名前 参考  参照範囲 =Sheet1!$A$5:$F$12 などのようになっていると思います。 この参照範囲の中で数式を使い,現在の範囲を計算させてしまいます。 作成例:  名前 参考  参照範囲 =OFFSET(Sheet1!$A$6,0,NOW()*0,COUNT(Sheet1!$A$6:$A$9999),6) 利用例: =VLOOKUP(A2,参考,COLUMN())

fukuoka1
質問者

お礼

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

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

=VLOOKUP(検索値,B:D,列番号、検索方法) などのように列全体を範囲指定すればいかがでしょう。

fukuoka1
質問者

お礼

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

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

画像が小さくてシートや数式の内容がわかりませんが、一般的にVLOOKUP関数のセル範囲を列全体または大きめのデータ範囲にすれば、データの増加に対応することができます。 もし、上記の回答がご質問の趣旨と違うなら、実際に入力している(結果が合わなくなる)VLOOKUP数式を具体的に提示してください。

fukuoka1
質問者

補足

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

関連するQ&A

専門家に質問してみよう