
先日入力規則において「リスト」設定する際の基本のテクニックについて解説しました。
入力規則の基本テクニック「リスト」設定方法 | Excelを制する者は人生を制す ~No Excel No Life~
今回はその応用編として、リストを上位の階層ごとにプルダウン(ドロップリスト)の候補値を切り替える方法について解説していきます。
リストを上位の階層ごとにプルダウン(ドロップリスト)の候補値を切り替える方法
サンプル前提条件
今回は下図のように給食の献立表について、和洋中の「ジャンル」それぞれ選択した内容に応じて、表示される「メニュー」の候補が切り替わる表を作成していきます。
予め、下図のようなプルダウンの候補となる範囲を入力しておきます。
第一階層は「ジャンル」ということで和洋中の部分、第二階層は「メニュー」ということで具体的な献立をワークシート上に準備しています。
設定方法
まずは和洋中それぞれのジャンルのメニューごとに「名前の定義」を設定します。
- ジャンルごとのメニューのセル範囲を選択
- マウス右クリック
- 「名前の定義」をクリック
4. 「新しい名前」ウィンドウの「名前」にジャンル名を入力
「名前」に入力する内容はワークシート上の上位階層(今回はジャンル名)と完全一致している必要があります。
なお、ジャンル名の数だけ1~4の作業を繰り返します。
ここから実際の献立表のワークシートに移ります。
5. 「ジャンル」のセル範囲を選択
6. 「データ」タブをクリック
7. 「データの入力規則」をクリック
「データの入力規則」ウィンドウが表示されます。
8. 「入力値の規則」は「リスト」を選択
9. 「元の値」の右側のボタンをクリック
10.「ジャンル」の該当部分を選択
11.「OK」をクリック
ここまでで無事ジャンルの各セルにプルダウン(ドロップリスト)で和洋中を選択できるようになりました。
続いて、「メニュー」のリスト設定を行います。
12. 「メニュー」のセル範囲を選択
13. 「データ」タブをクリック
14. 「データの入力規則」をクリック
「データの入力規則」ウィンドウが表示されます。
15. 「入力値の規則」は「リスト」を選択
16. 「元の値」は【=INDIRECT($C4)】と入力
※設定セルの同一行の「ジャンル」列のセルを参照値とする
17.「OK」をクリック
4.で設定した「名前の定義」をINDIRECT関数を経由して連動するため、「名前の定義」設定時に選択したセル範囲や名前の値が一致していないと、ここで正しく表示されない可能性があります。
無事C列の「ジャンル」に応じてD列の「メニュー」に表示されるプルダウン候補が切り替わるように設定できました!
まとめ
今回ご紹介したテクニックは、さまざまな階層を管理するデータベースの構築にも活用できます。
たとえば、部署の本部・部・グループや、サービスの大区分・中区分・小区分などなど。
入力する人にとっても、プルダウンの候補が多ければ多いほど選択するのに時間を要し、選択ミスにもつながりかねないので、このようにプルダウンの内容をしぼり込めるのは非常に便利ですよ!
ご参考になれば幸いですm(_ _)m