
エクセルのINDIRECT関数を使えば、1つ目のプルダウンで選択した項目に応じて、2つ目のプルダウンの選択肢を自動的に絞り込むことができます。具体的な手順を分かりやすく解説しているので、ぜひ参考にしてみてください。
完成イメージ

1つ目のプルダウンで選んだ項目に応じて、2つ目のプルダウンの選択肢が自動的に絞り込まれます。
2段階プルダウンの作成手順

【手順1】リストを作成する
- 新しく別シートを用意します。
- 1段階目の選択肢(例:野菜、果物)を1行目に並べ、その下に連動して呼び出したい2段階目の選択肢を縦方向に並べて記述します。

【手順2】リストに名前を付ける
- 作成したリスト全体を選択します。
- メニューの「数式」→「選択範囲から作成」→「上端行」にチェックして「OK」を押します。
💡 ポイント:2段階目の列(例:キャベツ、レタス…)に「野菜」、(例:りんご、ばなな…)に「果物」という名前が付きます。

【手順3】1段階目のプルダウンを作る
- メインのシートに戻り、1段階目のプルダウンを作成する範囲(例:A2:A100)を選択します。
- メニューの「データ」→「データの入力規則」→「設定」を開きます。
- 入力値の種類を「リスト」に設定します。
- 元の値に、別シートに作成したリストの1段階目の範囲(例:
=別シート!$A$1:$B$1)を指定して「OK」を押します。

【手順4】2段階目のプルダウンを作る
- 2段階目のプルダウンを作成する範囲(例:B2:B100)を選択します。
- 同じ手順で「データの入力規則」の種類を「リスト」に設定し、以下の数式を入力します。
- 例:
=INDIRECT(A2)- ※セル参照(A2)は、1段階目のプルダウンが入る先頭のセルを指定します。
- 例:
⚠️ エラーのメッセージについて:
- 1段階目のプルダウンが未選択の場合、「元の値はエラーと判断されます。続けますか?」というメッセージが表示されますが、そのまま「OK」を押します。
INDIRECT関数の引数:(参照文字列, [参照形式])
📖 数式の解説
- 1段階目のプルダウンを選択すると、そのセルの「文字列」を INDIRECT関数が「セル参照」として読み取り、【手順2】で名前を付けた別シートの範囲を自動で呼び出します。