Excel2013,2016…ドロップダウンリストでVLOOKUPの参照先テーブルを変更する
例えば、会社ごとに手数料体系(レンジと料金)が変わる場合、IF文のネストで会社名を判定して、会社ごとのVLOOKUP関数を用意するのが一般的ですが、参照先テーブルを絶対参照から名前参照にして、さらにドロップダウンリストが設定されたセルをINDIRECT関数で参照することにより、非常にスッキリしたVLOOKUP関数とすることが出来ます。
上図のような、異なる手数料体系を持った会社A~会社Dがあります。それぞれの手数料テーブルを数式タブの「名前の定義」で名前参照にします。
データタブの「データの入力規則」で会社選択欄を会社名(名前の定義で指定した名前)のリスト形式にします。
手数料のセルに以下の関数を入力します。INDIRECT関数を用いることで、C2セルの内容を間接的に(名前として)参照できるようになります。
=IFERROR(VLOOKUP(B7,INDIRECT(C2),2,TRUE),””) ←IFERRORで金額が入力されていない場合のエラーを回避しています。
上図のように、金額は変えずにリストの選択を変えるだけで、手数料の金額が変化します。