- ベストアンサー
VLOOKUP関数の範囲を自動変更させる
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
検索範囲が増減する場合はoffset関数を利用して選択範囲を指定すると対応できます 検索範囲を OFFSET(範囲の左上セル,0,0,COUNTA(A:A),範囲の列数) などと指定します データー数が増えた場合自動で範囲が拡大されます、A列に検索のデータ以外が含まれる場合はその数を引くことで範囲を確定できます 例:A列の検索するデーター以外に何か(項目名等)が入力されているセルが3つある場合 =VLOOKUP(検索値,OFFSET(A3,0,0,COUNTA(A:A)-3,範囲の列数),列番号,0)
その他の回答 (4)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
画像からはほとんど読み取れませんが、こんなのでも良いのかもしれませんね B2セルに =INDEX(B:B,5+$A2) 右へオートフィル、ただし、連番が条件です。 ちなみに、OFFSETを使わずにセル範囲を可変にする場合でこんな書き方あります $A$1:INDEX($E:$E,COUNT($A:$A)+1) 参考まで
- keithin
- ベストアンサー率66% (5278/7941)
挿入メニューの名前の定義で定義済み名前を確認すると 名前 参考 参照範囲 =Sheet1!$A$5:$F$12 などのようになっていると思います。 この参照範囲の中で数式を使い,現在の範囲を計算させてしまいます。 作成例: 名前 参考 参照範囲 =OFFSET(Sheet1!$A$6,0,NOW()*0,COUNT(Sheet1!$A$6:$A$9999),6) 利用例: =VLOOKUP(A2,参考,COLUMN())
お礼
ありがとうございます。参考にさせていただきます。
- kmetu
- ベストアンサー率41% (562/1346)
=VLOOKUP(検索値,B:D,列番号、検索方法) などのように列全体を範囲指定すればいかがでしょう。
お礼
ありがとうございました。参考にさせていただきます。
- MackyNo1
- ベストアンサー率53% (1521/2850)
画像が小さくてシートや数式の内容がわかりませんが、一般的にVLOOKUP関数のセル範囲を列全体または大きめのデータ範囲にすれば、データの増加に対応することができます。 もし、上記の回答がご質問の趣旨と違うなら、実際に入力している(結果が合わなくなる)VLOOKUP数式を具体的に提示してください。
補足
画像が小さく失礼いたしました。 行をあらかじめ大きくなることを推定して、最大行数を範囲とするというやり方も参考にさせていただきます。
お礼
ありがとうございました。いろいろなやり方があるんですね。参考にさせてください。