- Home »
- Excel講座の総目次 »
- Excel基本講座の目次 »
- 連動するドロップダウンリストをテーブルを利用して作成する
作成:2017/9/14
- 入力規則という機能を使ってドロップダウンリストから入力する方法があります。
この方法については ドロップダウンリスト(プルダウンリスト)を作成する(入力規則)で説明しています。 - リストの元の値にテーブルを指定すると、自動でリストの範囲を伸ばすことができます。
この方法を使って、連動するドロップダウンリストを作成したいと思います。
具体的には、INDIRECT関数を使って、テーブル名とテーブルの見出し名を設定に使用する方法です。
名前の定義と組み合わせる方法もありますが、このページではテーブル機能のみを利用する方法で説明しています。
- リスト表示するデータをテーブルで作成します。ここでは、Sheet2に入力することにします。
A列には 最初に選択するリストを入力しています。具体的には地方名を入力しています。
B列以降には各地方に属する都道府県名を入力しています。
A1セルを選択して、[挿入]タブの[テーブル]をクリックします。

- テーブルに変換するデータ範囲には、データの最大列×最大行が指定されます。
このケースでは A1:I10 がデータ範囲と指定されます。
「先頭行をテーブルの見出しとして使用する」にチェックを入れます。
[OK]ボタンをクリックします。

- テーブルに変換されました。
テーブルツールのデザインタブを選択すると、テーブル名は「テーブル1」となっているのを確認することができます。

- Sheet1に入力規則を使って入力することにします。
B3セルを選択して、[データ]タブの[データの入力規則]を選択します。

- データの入力規則で[設定]タブを選択します。
入力値の種類で「リスト」を選択します。
元の値に =INDIRECT("テーブル1[地方名]") と入力します。テーブル1の「地方名」という列を指定しています。
[OK]ボタンをクリックします。

- この操作は重要なため、忘れずに実行します。
B3セルでドロップダウンリストを開いて、いずれかの地方名を選択します。
(B3セルで何か選択しておく必要があります)
ここでは「中国地方」を選択しました。
- この操作を実行しないと(B3セルが未入力だと)、次の入力規則の設定ができなくなります。
ちなみに、リスト元の値は、区切り文字で区切られてリスト化、または単一の行または列の参照でなければなりません。」とエラーが表示されます。

- 2つ目のリストを設定します。
C3セルを選択して、[データ]タブの[データの入力規則]を選択します。
データの入力規則で[設定]タブを選択します。
入力値の種類で「リスト」を選択します。
元の値に =INDIRECT("テーブル1[" & B3 & "]") と入力します。
この数式は 上記の =INDIRCT("テーブル1[地方名」") という数式の 地方名のところを B3とセル参照にします。
INDIRCT関数の引数部分はテーブル1の各列見出しを指定することになるので、 B3セルの文字列が入るようにします。
[OK]ボタンをクリックします。

- 2つ目の入力規則のドロップダウンが連動し、リストから選択して入力することができました。

- さて、このやり方ではちょっと不満が出るかもしれません。
九州地方の場合は、リストの空欄は1つであまり気になりませんが、四国地方の場合はリストの空欄が大きくなっていて気になります。

- この原因は、テーブルにした時の空欄がそのままドロップダウン リストで表示されるからです。
- この空欄を表示しないようにするには、各列をそれぞれ1つのテーブルにする必要があります。
テーブルツールの [範囲に変換]をクリックして、テーブルを解除します。

- テーブルを標準の範囲に変換しますか? で[はい]をクリックします。

- 書式が残っていますので、元のテーブルの範囲を選択して、[ホーム]タブの[クリア]→[書式のクリア]を実行します。

- A1:A9セルを選択して、[挿入]タブの[テーブル]をクリックします。

- データ範囲を確認し、「先頭行をテーブルの見出しとして使用する」にチェックを入れ、[OK]をクリックします。

- テーブルツールの[デザイン]タブを選択して、テーブル名を列見出しと同じく「地方名」と入力します。
テーブルの名前を変更するのは、自動ではテーブル2、3、4といった具合に名前が付けられますが、あとでどの列がどのテーブル名かがわかりずらくなるため、最初に列見出しと同じに変更してします。
- B1:B9セルを選択して、[挿入]タブで[テーブル]をクリックして、テーブル化し、テーブルツールでテーブル名を「九州地方」としました。
- C1:C5セルを選択して、[挿入]タブで[テーブル]をクリックして、テーブル化し、テーブルツールでテーブル名を「四国地方」としました。
- 以下同様に、D1:D6セルをテーブル化して「中国地方」とテーブル名を変更します。
E1:E8セルをテーブル化して「近畿地方」とテーブル名を変更します。
F1:F10セルをテーブル化して「中部地方」とテーブル名を変更します。
G1:G8セルをテーブル化して「関東地方」とテーブル名を変更します。
H1:H7セルをテーブル化して「東北地方」とテーブル名を変更します。
I1:I2セルをテーブル化して「北海道地方」とテーブル名を変更します。

- B3セルを選択して、[データ]タブの[データの入力規則]をクリックします。
データの入力規則で、入力値の種類で「リスト」を選択します。
元の値に、=INDIRECT("地方名") とテーブル名で指定します。
[OK]ボタンをクリックします。

- C3セルを選択して、[データ]タブの[データの入力規則]をクリックします。
データの入力規則で、入力値の種類で「リスト」を選択します。
元の値に、=INDIRECT(B3) とB3セルに表示される文字列を指定します。
[OK]ボタンをクリックします。

- 元の値はエラーと判断されます。続けますか? と表示されたら、[はい]をクリックします。
- 2つ目のドロップダウンリストに空欄が表示されなくなりました。

スポンサードリンク
Home|Excel講座の総目次|Excel基本講座の目次|連動するドロップダウンリストをテーブルを利用して作成する
PageViewCounter

Since2006/2/27