ちくのう症(蓄膿症)は「菌」が原因!?

A1=1のとき,Vlookの範囲をB1~C5
A1=2のとき,Vlookの範囲をB6~C10
A1=3のとき,Vlookの範囲をB7~C15
・・・
という具合に,A1セルが1増えると,参照範囲を同じブロックだけ可変するようにするにはどのような式がいいでしょうか。

If関数との組み合わせでもいいのですが,A1の増加が多数あるので大変です。
よろしくお願いいたします。

質問者からの補足コメント

  • 失礼しました。そのとおりです。A1=3のとき,Vlookの範囲をB11~C15のように5個ずつずれていきます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/12/06 03:08
  • A1=3のとき,Vlookの範囲をB11~C15でした。
    5個ずつずれていく法則性があります。
    offsetの場合の式はどのようになりますでしょうか。
    よろしくお願いいたします。

    No.2の回答に寄せられた補足コメントです。 補足日時:2019/12/06 03:11

A 回答 (4件)

添付図参照


セル A1 に(入力規則を設定するも可) 1~4 の数値を入力
B、C列に各参照範囲を設定
E列に A~D の文字を入力
次式を入力したセル F1 を下方にオートフィル
=IFERROR(VLOOKUP(E1,OFFSET(B$1,(A$1-1)*5,,5,2),2,FALSE),"")
「Vlook関数の範囲を可変する」の回答画像4
    • good
    • 0
この回答へのお礼

わかりやすく式を説明いただきありがとうございます。
Offsetの使い方とVlookupの組み合わせについて勉強になりました。
ありがとうございます。

お礼日時:2019/12/06 18:40

「Look up(探す)」を「Look(見る)」と略すのはどうかと思い


ますけど。

OFFSET(B$1,ROW(A1)*5-5,,5,2)
    • good
    • 1
この回答へのお礼

組み合わせとして,いろいろな使い方があることが分かりました。
大変ありがとうございます。

お礼日時:2019/12/06 18:41

A1のセルの数字と参照範囲の関係性次第ですが、offsetで参照範囲を変えてはどうでしょう?



あとは、パターン数によりますがあらかじめ範囲が分かっているならその範囲に名前を付けて呼び出すとか。
=VLOOKUP(検索値,INDIRECT("範囲"&A1),列番号,検索方法)
上記では、A1=1の場合は「範囲1」の名前を呼び出しその範囲での検索になります。
当然、A1=2にすれば「範囲2」の範囲を呼び出せます。

セルの数字の増加と範囲の変化に法則性があればオフセットの方がメンテナンスは楽だと思いますが
法則性が無いならば、上記のような方法をとるか別シートなどにA1のセル値に対応した範囲を記載しておき
Vlookでそれを呼び出して本体のVlookの範囲とするなどが考えれます。

※最後の方法は、Vlook関数を使うセルが多い場合は処理が遅くなると思いますので注意してください。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
自力で何とかOffsetでたどり着けました。
便利な関数ですね。

お礼日時:2019/12/06 18:42

もしかしてですが「A1=3のとき,Vlookの範囲をB7~C15」ではなく「A1=3のとき,Vlookの範囲をB11~C15」の様

に5個ずつずれていくのでしょうか?
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング