
エクセルで最初のプルダウンを選択したときに、次のプルダウンのリストを絞り込めたら便利ですよね。今回は名前の定義とINDIRECT関数を使用して、連動するプルダウンの作成方法をご紹介するので、ぜひ参考にしてみてください。
連動するプルダウンとは?
プルダウンの1段階目と2段階目を連動させることです。1段階目をプルダウンリストから選択すると、その項目に従属するリストのみを2段階目に表示させます。
リスト表を階層構造で作成することで、例えば1段階目で「ドリンク」を選択すると2段階目でドリンクメニューが、1段階目で「パン」を選択すると2段階目ではパンメニューだけを表示させることができます。
エクセルのプルダウン作成方法
連動するプルダウンを作成するために、まずは通常のプルダウンを作成しましょう。通常のプルダウンを1段階目、連動するプルダウンを2段階目として解説していきます。
プルダウンの挿入方法

①1段階目のプルダウン挿入範囲を選択します。
②上部メニューバーの「データ」から、③「データの入力規則」をクリックします。

①入力値の種類を「リスト」に変更し、②元の値に1段階目のリスト範囲を指定します。
③OKボタンをクリックすると、まず1段階目のプルダウンが挿入できました。
連動するプルダウンの作成方法
いよいよ2段階目のプルダウンを作成していきます。リスト表に関しては横方向でも縦方向でも作成可能なので、ぜひ活用してみてください。
範囲に名前を定義する方法

①プルダウンのリスト表全体を選択します。
②上部メニューバーの「数式」から、名前の管理の③「選択範囲から作成」を開きます。
④以下に含まれる値から名前を作成の「左端列」にチェックを入れ、⑤OKボタンをクリックします。
◎ワンポイントアドバイス
今回はリスト表を横方向に作成しているため、「左端列」にチェックを入れました。リスト表を縦方向に作成している場合は、「上端列」にチェックを入れましょう。
連動するプルダウン挿入方法

①2段階目のプルダウン挿入範囲を選択します。
②上部メニューバーの「データ」から、③「データの入力規則」を開きます。
④入力値の種類を「リスト」に変更します。
INDIRECT関数で範囲を呼び出す方法

元の値には「INDIRECT(B2)」を指定し、OKボタンをクリックします。※このとき($B$2)のように「$」がついていたら、$は消してください。
なお(B2)部分には1段階目のプルダウンを挿入した、1行目のセルを指定します。
◎INDIRECT関数とは?
文字列で指定したセル参照を返す関数です。今回は名前を定義した範囲をINDIRECT関数で呼び出すために、1段落目のセルを指定しています。

OKボタンをクリックすると「元の値 はエラーと判断されます。」と表示されますが、そのまま「はい」を選択して問題ありません。
1段落目のプルダウンを選ぶと、2段落目には従属するリストを表示させることができました。
◎ワンポイントアドバイス
エラーと判断されるのは、1段落目を選択していないとINDIRECTの引数が「空欄」になってしまうためです。1段落目を選択すれば、INDIRECT関数が問題なく機能します。