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

1と入れると、45800円です。
C3セルには、VLOOKUP関数を使った式が入力されています。
=VLOOKUP(B3,A9:B12,2)

=VLOOKUP(B3,A9:B12,2)
複数の商品の価格表を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関数は、とっても相性の良い組み合わせですね。

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