エクセルでプルダウンを連動して変更(絞り込み)する方法は?【Excelのドロップダウンリスト機能】

「エクセルのプルダウンで、参照する値に応じてプルダウンを変更させたい」
「Excelで隣のセルの値に応じて、ドロップダウンリストを絞り込みして表示させることはできる?」

入力の手間を省けることで便利な‟プルダウン機能”ですが、様々な使い方があります。
今回はプルダウン(ドロップダウンリスト)を2つ作り1つ目の値に応じて2つ目のプルダウンを
変更するというやり方を見ていきます。

・エクセルのプルダウンを参照する値に連動して変更したい

という方は、参考にして下さい。

エクセルのプルダウンリストを連動して変更(絞り込み)させる方法

それでは、Excelのプルダウンを設定した値に連動して変更していきます。
絞り込みの流れは大きく、

①リスト(項目)に名前を定義する
②INDIRECT関数を使ってプルダウンを作成する

といった流れになります。

今回は横のセルの値(都道府県)に連動して、「市区町村」の値が変更されるといったプルダウンを作成していきます。
「都道府県」の項目に「東京都」とプルダウンで入力すると、東京都の市区町村が自動でプルダウンに設定されるという形です。
「都道府県」に「福岡県」「大阪府」を入力した際も、それぞれに連動してプルダウンが変更されます。

それでは見ていきましょう。

【事前準備】リスト(項目)をテーブルに変更・名前を定義する

まず、プルダウンを設定する前に事前の準備をしていきます。

プルダウンに設定する項目(リスト)をテーブルに設定する

今回は、プルダウンに設定する項目(リスト)を別シートに作成しておきます。
※シート名を「リスト」として作成しています

まずは「テーブル」を設定していきます。
テーブルとは、表に色をつけて見やすくしたりデータの抽出をしやすくする機能です。

テーブルを設定しておくことで、後からリストに値を追加した時自動でプルダウンに追加できるようになります。

少し手間ですが、後々の事を考えあらかじめ設定しておきましょう。

そしたら、テーブルにしたいセルを選択していきます。
こちらは一列目のプルダウンの「都道府県」の項目です。
見出しの「都道府県」~「福岡県」までをドラッグして範囲選択します。

上の方にある[挿入]タブをクリックします。

すぐ下の[テーブル]をクリックします。

すると「テーブルの作成」というダイアログボックスが出てくるので、[先頭行を…]のところにチェックを入れます。
そうすることで、見出しの「都道府県」の部分が見出しとして設定できます。

そしたら[OK]をクリックします。

選択した「都道府県」~「福岡県」の部分に、テーブルが設定されました。

同じように、二つ目のプルダウン(市区町村)に設定する値もテーブルに変換していきます。
「東京都」~「渋谷区」、「大阪府」~「東大阪市」、「福岡県」~「みやま市」の3列分をそれぞれテーブルに設定します。

全てのリスト(項目)がテーブルに設定できました。

プルダウンに設定する項目の名前を定義する

続いて、名前を定義していきます。
名前を定義することで、指定のセルの値に連動してプルダウンを変更することができます。

プルダウンに表示させる範囲を選択します。
範囲を選択する際、見出し(都道府県)は除外します。

名前の定義をするセルが選択できたら、左上の[名前ボックス]をクリックします。
※数式バーのとなり、今回は「テーブル9」と表示されている部分です。

1つ目のプルダウンの見出しである、「都道府県」をクリックします。

Enterキーをクリックし、名前の定義を確定します。

同じように、2つ目のプルダウン用の名前を定義していきます。
こちらも、見出しの「東京都」「大阪府」「福岡県」は除いて選択し名前を定義します。

名前の定義ができました。
名前ボックスの[▼]をクリックすると、今定義した名前の一覧がずらっと表示されます。
それぞれ定義した名前を選択すると、名前の定義で設定したセルが選択されます。

準備したリスト(名前の定義を設定)を使ってプルダウンを設定していく

それでは名前の定義の設定範囲が確認できたところで、プルダウンの設定をしていきます。

一列目のプルダウン(都道府県)を設定する

「名簿」シートに移ります。

まずは一つ目のプルダウンの「都道府県」の設定範囲を選択します。

まず[データ]タブをクリック。

続いて[データの入力規則]をクリック。

ダイアログボックスが表示されたら、[入力値の種類]を[リスト]にします。

[元の値]の空欄に、先ほど入力した名前の定義を入力していきます。

まずは、半角で「=」を入力します。

1つ目のリスト(項目)に定義した名前を入力します。
先ほど「リスト」のシートにて、「都道府県」と名前を定義しました。
なのでここでは「=都道府県」と入力します。

入力ができたことを確認できたら、[OK]を選択します。

1つ目のプルダウンである「都道府県」の列にドロップダウンリストの設定ができました。
[▼]を押してリストを見てみると、先ほど「都道府県」で定義した名前の範囲である「東京都」「大阪府」「福岡県」がきちんと表示されています。

一旦、一つ目のプルダウン(絞り込み用)に入力した値は削除しておきます。

2つ目のプルダウン(市区町村)を作成していく

絞り込み用として1つ目のプルダウン(都道府県)が作成できたので、続いて2つ目のプルダウン(市区町村)を作成していきます。

2つ目のプルダウンは「市区町村名」が入るので、[D4]~[D8]までを範囲選択します。

[データ]タブを既に選択した状態であれば、[データの入力規則]をクリック。

[入力値の値]を[リスト]にします。

=を入力します。

INDIRECR関数を使って1つ目のプルダウンを選択

ここからがポイントです。

=に続いて、「INDIRECR」関数を入力します。
大文字でINDIRECRTと入力します。



「=INDIRECRT」と入力が確認ができたら、続いて「(」を入力します。

「=INDIRECRT(」まで入力ができたら、1つ目のプルダウンの一番最初の値を選択します。

このままだとセルに「$」マークがついてしまい、セルの値が[C4]に固定されてしまいます。
「伊藤」さんに続き「井上」さん「加藤」さんと参照する値をずらしていきたいので、F4キーを3回押して$マークをはずします。
※$マークを直接BackSpaceキーなどで消してもOKです

$マークが外せたら、 ) で閉じてあげます。

[元の値]に「=INDIRECT(*任意のセル)」が入力できているのを確認できたら、[OK]をクリックします。
*ここではセル[C4]を選択しています。

[元の値はエラーと…]の表示が出たら、[はい]を選択しましょう。
これで絞り込みの設定が完了です。

【完成】プルダウン1(都道府県)の値に連動してプルダウン(市区町村)が絞り込める

それでは、実際にプルダウンが連動して変わるか試してみます。

まずプルダウン1(都道府県)の「伊藤 マイ」さんの値をプルダウンで「東京都」と選択してみます。

先ほど設定した名前リスト「東京都」の市区町村の値のみが表示されました。

「福岡県」「大阪府」も同様、絞り込めているのが分かります。

プルダウンの項目が連動して変更(絞り込み)ができました。

【補足】リストに値を追加しプルダウンを自動で更新

こちらの連動したプルダウンは、テーブルを設定しなくてもできます。
しかしテーブルに設定した事で、後からリストに追加した際に自動でプルダウンの値も追加できるというメリットがあります。

「リスト」のシートに移動します。

プルダウンに追加設定したい値を入力します。
「東京都」のリストに「港区」を追加してみました。

「名簿」シートにもどり、「東京都」の「市区町村」の値を確認したところ「港区」が自動で追加されていました。

最初にテーブルの設定をしたことで、プルダウンの追加も楽にできるようになりました。

Excelでプルダウンを連動して変更(絞り込み)する方法まとめ

以上、「エクセルでプルダウンを連動して変更(絞り込み)する方法は?【Excelのドロップダウンリスト機能】」についてまとめました。
最初に「名前の定義を設定する」などひと手間いりますが、自動で絞り込めるプルダウンはとても便利です。

2段だけでなく3段もこちらを応用すればできますので、是非試してみて下さい。

【動画】エクセルでプルダウンを連動して変更する方法

エクセルでプルダウンを連動して変更する方法を動画で確認したい方はこちら。