Excelで「1つ目の選択に合わせて、2つ目以降のプルダウン内容を変えたい」ときは、名前の定義とデータの入力規則を組み合わせるのが基本です。仕事で商品分類、支店名、担当部署などを選ばせる表を作るときにとても便利ですよ。この記事では、まず最短で作れる方法をお伝えしたあと、初心者の方でも迷わないように手順を順番に解説します。
最短で作る方法|連動プルダウンは「名前定義+INDIRECT関数」で作成します
仕組みはシンプルです。最初のプルダウンで選ばれた文字列と同じ名前を、別の候補リストに付けておきます。するとINDIRECT関数が、その名前のリストを呼び出してくれるので、2つ目の候補だけが切り替わるという流れです。
事前準備|連動元と連動先のリストを用意しましょう
まずは、元になる一覧表を作ります。たとえば「部署」を選ぶと「担当者」が変わるプルダウンを作りたいなら、次のような構成にすると分かりやすいです。
- F1:F3 に部署名を入力する(営業部、総務部、経理部 など)
- H1:H3 に営業部の担当者一覧を入力する
- I1:I3 に総務部の担当者一覧を入力する
- J1:J3 に経理部の担当者一覧を入力する
このとき大事なのは、部署名と同じ名前を担当者リストに付けることです。たとえばH1:H3の範囲に「営業部」という名前を付けます。
作成手順1|1つ目のプルダウンを作る
- プルダウンを表示したいセルをクリックします。例では A2 にします。
- Excel上部のデータタブをクリックします。
- データの入力規則をクリックします。
- 「設定」タブで「入力値の種類」をリストにします。
- 「元の値」に、部署一覧の範囲を指定します。たとえば =$F$1:$F$3 と入力します。
- OKをクリックします。
これでA2に1つ目のプルダウンができました。
作成手順2|連動先リストに名前を定義する
次に、2つ目のプルダウンで使う候補リストへ名前を付けます。
- たとえば営業部の担当者が入っている H1:H3 を選択します。
- 数式バーの左にある名前ボックスをクリックします。
- 営業部と入力してEnterキーを押します。
- 同じように、総務部の一覧範囲には総務部、経理部の一覧範囲には経理部という名前を付けます。
これで、A2で「営業部」を選ぶと、その文字列を使って営業部のリストを呼び出せるようになります。
作成手順3|2つ目の連動プルダウンを作る
- 2つ目のプルダウンを表示したいセルをクリックします。例では B2 にします。
- データタブ→データの入力規則をクリックします。
- 「入力値の種類」をリストにします。
- 「元の値」に =INDIRECT(A2) と入力します。
- OKをクリックします。
これで、A2で部署を選ぶと、B2にはその部署に対応した担当者だけが表示されます。まずはこの形が作れればOKです。
3段階以上の複数連動プルダウンを作る方法
「大分類 → 中分類 → 小分類」のように、3つ以上を連動させたいこともありますよね。その場合も考え方は同じです。
- 1つ目のプルダウンを作る
- 2つ目の候補リストに、1つ目の選択肢と同じ名前を付ける
- 2つ目のセルに =INDIRECT(1つ目のセル) を設定する
- 3つ目の候補リストに、2つ目の選択肢と同じ名前を付ける
- 3つ目のセルに =INDIRECT(2つ目のセル) を設定する
たとえばA2が「都道府県」、B2が「市区町村」、C2が「エリア詳細」なら、B2の元の値は =INDIRECT(A2)、C2の元の値は =INDIRECT(B2) です。複数連動でも、1つ前のセルを参照するだけで作れます。
テーブルや別シートで管理したいときのコツ
実務では、候補リストを別シートにまとめたいことが多いです。その場合でも基本は同じです。ただし、入力規則の「元の値」に直接別シート範囲を書くと制限に引っかかることがあります。そんなときは、別シートの範囲に名前を定義しておくと扱いやすいですよ。
- 候補一覧は「マスタ」シートにまとめる
- 各範囲に分かりやすい名前を付ける
- 入力規則ではセル参照や名前定義を使う
表の管理がしやすくなるので、後から候補を増やすときも楽になります。
うまくいかない場合のチェックポイント
連動プルダウンが動かないときは、ほとんどが次のどれかです。ここを確認すれば解決しやすいです。
名前の定義と選択肢の文字が一致していない
たとえばA2の選択肢が「営業部」なのに、名前定義が「営業一部」になっていると動きません。全角スペースや余計な空白も要注意です。
名前に使えない文字が入っている
Excelの名前定義では、記号や先頭数字などが原因でうまく設定できないことがあります。たとえば「第1営業部」のような名前で引っかかる場合は、補助表を作って使いやすい名前に変える方法もあります。
INDIRECTの参照先セルが空白になっている
1つ目のプルダウンが未選択だと、2つ目は空になります。これは異常ではありません。まず先に上位の項目を選んでください。
入力規則の元の値の書き方が違っている
=INDIRECT(A2) の先頭の「=」が抜けていたり、セル番地が違っていたりすると候補が表示されません。コピペでずれることもあるので、参照先は必ず確認しましょう。
範囲の名前ではなく、セルの表示文字を変えてしまっている
あとから候補文字を変更したのに、名前定義のほうを直していないケースもあります。表示名と名前定義をセットで見直すのがコツです。
空白やスペースが原因のエラーを減らす方法
見た目では同じでも、末尾にスペースが入っていて一致しないことがあります。そんなときは、元データを整えるだけでかなり安定します。
- 候補一覧は手入力ではなくコピペ元を統一する
- 不要な空白がないか確認する
- 名前定義の一覧を「数式」タブ→「名前の管理」で見直す
特に複数人でファイルを更新する運用では、この確認がかなり大事です。
実務で便利な時短ワザ
最後に、連動プルダウンを使うときに一緒に覚えておくと便利なワザを紹介します。
- Alt + ↓:選択中セルのプルダウンを開けます。マウスなしで操作しやすいです。
- Ctrl + C / Ctrl + V:入力規則付きセルをコピーして同じ設定を増やせます。
- F4:直前の操作を繰り返せるので、同じ書式設定や操作の繰り返しに便利です。
- Ctrl + T:元データをテーブル化すると一覧管理がしやすくなります。
連動プルダウンは、最初だけ少し準備が必要ですが、いったん作れば入力ミスを減らせて、表の入力スピードもかなり上がります。まずは1つ目のプルダウン作成 → 名前定義 → =INDIRECT(参照セル)の順で試してみてくださいね。
