Excelで1つ目の選択に合わせて2つ目のプルダウン内容を変えたいなら、元データを表で用意して名前を定義し、入力規則で連動させるのがいちばん確実です。仕事中は「どう作るのか」だけ早く知りたいですよね。そこで今回は、2段階連動プルダウンを最短で作る手順を、初心者の方でも迷わないように順番どおりにまとめました。
結論:2段階連動プルダウンは「名前の定義」と「INDIRECT関数」で作れます
たとえば、1段目で「果物」「飲み物」を選び、2段目でそれぞれに対応した候補だけを出すイメージです。大まかな流れは次のとおりです。
- 候補一覧の元データをシートに作る
- 各グループ名に「名前の定義」を付ける
- 1段目のプルダウンを入力規則で作る
- 2段目のプルダウンに =INDIRECT(A2) のような式を入れる
ここから実際のクリック手順を見ていきましょう。
Excelで2段階連動プルダウンを作る手順
準備するデータの例
まずは別シートでも同じシートでもいいので、次のような元データを作ります。
- D1:D2に「果物」「飲み物」
- E1:G1に果物の候補として「りんご」「みかん」「バナナ」
- E2:G2に飲み物の候補として「水」「お茶」「コーヒー」
このとき、1段目で表示する親項目と、2段目で表示する子項目の関係が分かる形になっていればOKです。
手順1:1段目に使う一覧を作る
- 1段目の候補を縦または横に並べます
- 今回は例として D1:D2 に「果物」「飲み物」を入力します
- プルダウンを入れたいセルを決めます。たとえば A2 を1段目、B2 を2段目にします
1段目は通常の入力規則で作れるので、ここは難しくありません。
手順2:2段目の候補範囲に名前を定義する
次に、2段目で表示したい候補範囲に、1段目の項目名と同じ名前を付けます。ここが連動のポイントです。
- 「りんご」「みかん」「バナナ」が入っているセル範囲 E1:G1 を選択します
- 数式バーの左にある「名前ボックス」をクリックします
- 果物 と入力して Enter を押します
- 次に「水」「お茶」「コーヒー」が入っている E2:G2 を選択します
- 名前ボックスに 飲み物 と入力して Enter を押します
これで、Excelは「果物」という名前の範囲、「飲み物」という名前の範囲を認識できるようになります。
なお、名前には使える文字のルールがあります。空白がある名前はそのままだと使えないので、「営業部 東京」のような文字は「営業部_東京」などに置き換える必要があります。
手順3:1段目のプルダウンを作る
- A2セルを選択します
- 「データ」タブをクリックします
- 「データの入力規則」をクリックします
- 「設定」タブの「入力値の種類」を「リスト」にします
- 「元の値」に =D1:D2 ではなく、通常は $D$1:$D$2 を指定します
- 「OK」をクリックします
これでA2に1段目のプルダウンが表示されます。
手順4:2段目の連動プルダウンを作る
- B2セルを選択します
- 「データ」タブから「データの入力規則」をクリックします
- 「入力値の種類」を「リスト」にします
- 「元の値」に =INDIRECT(A2) と入力します
- 「OK」をクリックします
これで、A2で「果物」を選ぶとB2には「りんご」「みかん」「バナナ」が表示され、「飲み物」を選ぶと「水」「お茶」「コーヒー」が表示されます。
テーブル形式の元データでも作れる?
作れますが、まずは通常のセル範囲で仕組みを理解するのがおすすめです。テーブル化したデータは管理しやすい反面、入力規則の参照式で少し戸惑いやすいことがあります。急ぎの業務なら、シンプルな範囲参照で先に完成させたほうが早いですよ。
空白や日本語を含む項目名で連動させるときのコツ
実務では「東京支店」「大阪支店」のように日本語だけならそのまま使えることが多いですが、スペース入りの名前は注意が必要です。名前の定義では空白が使えないため、表示名と名前を分けるのがコツです。
- 表示する1段目の文字:東京 支店
- 名前の定義:東京_支店
- 2段目の入力規則:=INDIRECT(SUBSTITUTE(A2," ","_"))
このようにすると、見た目は自然なまま連動させやすくなります。
うまくいかない場合のチェックポイント
2段階連動プルダウンが動かないときは、だいたい次のどれかが原因です。焦らず順番に確認しましょう。
1. 名前の定義と1段目の文字が一致していない
- 1段目が「果物」なのに、名前の定義が「くだもの」になっている
- 全角と半角が混ざっている
- 末尾に見えない空白が入っている
文字が1文字でも違うと、INDIRECTは正しく範囲を呼び出せません。
2. 2段目の式が正しくない
- 正しくは =INDIRECT(A2)
- 「'」や「"」を余計に入れていないか確認する
- 参照セルがA2ではなく別セルになっていないか確認する
コピーして使う場合は、参照先がずれていないかも大事です。
3. 名前の定義がセル範囲ではなく文字列になっている
名前を付けたつもりでも、範囲選択せずに入力してしまうと意図どおり登録されていないことがあります。
- 「数式」タブをクリックします
- 「名前の管理」をクリックします
- 各名前が正しいセル範囲を参照しているか確認します
ここで参照範囲を見直すと、原因がすぐ分かることがあります。
4. 1段目を空欄にしたまま2段目を開いている
1段目が未選択の状態では、2段目は参照先が決まらないためエラーや空白になります。先に1段目を選んでから2段目を開きましょう。
5. 項目名に空白や記号が含まれている
名前の定義では使えない文字があります。特に次のケースは見直し候補です。
- 空白が入っている
- 先頭が数字になっている
- 記号が含まれている
この場合は、名前の定義を「営業1課」ではなく「営業_1課」のように調整すると安定します。
複数行にコピーして使う方法
A2とB2で作れたら、他の行にも展開したいですよね。その場合は参照のずれに注意します。
- A2とB2の入力規則を設定します
- A2:B2を選択します
- 下方向へコピーします
この方法なら、3行目では =INDIRECT(A3)、4行目では =INDIRECT(A4) のように自動で切り替わります。部署ごとの申請表や商品カテゴリ入力で便利です。
関連の時短ワザ
入力規則のあるセルだけを探す
どこにプルダウンを設定したか分からなくなったら、条件付きの確認が役立ちます。すぐ見つけたいときは、シートの設計時にセルの色を変えておくのもおすすめです。
候補データは別シートにまとめる
元データを入力用シートに直接置くと、誤って消してしまいやすいです。「マスタ」などの別シートを作って管理すると、更新もしやすくなります。
ショートカットで作業を速くする
- 1つ前に戻す:Ctrl + Z
- コピー:Ctrl + C
- 貼り付け:Ctrl + V
- 名前の管理を使う前に保存:Ctrl + S
特に入力規則の設定中は、うっかり上書きしやすいので、こまめな保存が安心です。
まとめ
Excelの2段階連動プルダウンは、名前の定義とINDIRECT関数を使えば作れます。手順としては、1段目の一覧を作る、2段目候補に親項目と同じ名前を付ける、1段目を入力規則で作る、2段目に =INDIRECT(A2) を設定する、これだけです。
もしうまく動かないときは、名前の定義と文字の一致、空白や記号、参照セルのずれを確認してください。ここを押さえておけば、部署別・商品別・カテゴリ別など、実務の入力ミス防止にすぐ活かせます。ぜひ手元のExcelで、そのまま試してみてくださいね。
