INDIRECT 関数とVLOOKUP関数で参照先を使いわけるには
INDIRECT関数とVLOOKUP関数(検索と行列関数)2013関数技 33回
どんなに参照先が多くても大丈夫!INDIRECT関数とVLOOKUP関数で参照先を振り分ける
INDIRECT関数は、どちらかというと文系の方に好まれる関数だと思います。
セルの指定をA1とかB1とかではなく、文字列で間接的に指定してやることができるからです。
INDIRECT 関数
書式
=INDIRECT(参照文字列,参照形式)
(サンプルファイルは、こちらから 2013関数技33回サンプルデータ)
VLOOKUP関数で価格表を参照するとき
オーダーバッグのサイズを入力すると金額が表示される表があります。
1と入れると、45800円です。

1と入れると、45800円です。

C3セルには、VLOOKUP関数を使った式が入力されています。
サイズに対応する数値を入力すると、対応する価格が表示されます。
=VLOOKUP(B3,A9:B12,2)

バックの種類が1種類だけで、大きさだけで価格が変わる場合はこれでいいですね。
サイズに対応する数値を入力すると、対応する価格が表示されます。
=VLOOKUP(B3,A9:B12,2)

バックの種類が1種類だけで、大きさだけで価格が変わる場合はこれでいいですね。
複数の商品の価格表をINDIRECT関数で使い分ける
しかし、商品のタイプは他にもある場合、
どうやって、商品ごとに検索する範囲を切り替えればいいのでしょう。
もちろん、INDIRECT 関数ですね。
INDIRECT 関数なら、商品名でセル範囲を間接的に指定することができるからです。

どうやって、商品ごとに検索する範囲を切り替えればいいのでしょう。
もちろん、INDIRECT 関数ですね。
INDIRECT 関数なら、商品名でセル範囲を間接的に指定することができるからです。

範囲を文字列で振り分けるようにすれば、いいんです。


スポンサーリンク
スポンサーリンク
VLOOKUP関数の数式に、A9:B12と入力されている範囲を
INDIRECT関数で置き換えます。

INDIRECT関数で置き換えます。

式は、ネスト(入れ子)ですが、とってもシンプル。
=VLOOKUP(B3,INDIRECT(A3),2)
商品の名前で指定するのですから、予め、それぞれの価格表を名前として定義しておきます。
そうすれば、商品タイプが増えても、元の式を変更する必要がないのです。
例では、参照するデータ表を3つ登録していますが、5つだろうが、10個だろうが、元の式はそのままで参照OKです。

=VLOOKUP(B3,INDIRECT(A3),2)
商品の名前で指定するのですから、予め、それぞれの価格表を名前として定義しておきます。
そうすれば、商品タイプが増えても、元の式を変更する必要がないのです。
例では、参照するデータ表を3つ登録していますが、5つだろうが、10個だろうが、元の式はそのままで参照OKです。

VLOOKUP関数とINDIRECT関数は、とっても相性の良い組み合わせですね。


スポンサーリンク
スポンサーリンク