Excelで2つのリストボックスを連動させる

スポンサーリンク

はじめに

Excelで予め決められた値を入力するために「リストボックス」を使うことは多いと思います。アンケートなどで都道府県を入力する時は「リストボックス」になっていることが多いですね。選択肢の中から選ぶ形式です。このリストボックスですが、2つを連動したいと思ったことはないでしょうか?

例えば、全国に100以上の支店があった場合、リストボックスを使うと100以上の中から選択するのは結構大変です。これを都道府県で絞り込んで支店を選択すると楽だし便利だと思いませんか。

やりたいことは以下のとおりです。
A2セルで「東京」を選択した場合は、東京内の支店を表示させる。

A2セルで「大阪」を選択した場合は、大阪内の支店を表示させる。

操作手順

2つのリストボックスを連動させるには大きく3つの作業があります。

  1. マスターデータを作成する
  2. 名前を定義する
  3. 入力規則の設定をする

それでは順番に設定していきましょう。

1.マスターデータを作成する

別シート(Sheet2)にマスターデータを作りましょう。1行目が都道府県です。2行目以降に支店名を記載していきます。

2.名前を定義する

名前の定義とは、複数のデータをまとめて任意の名前をつけることです。グループ名と思って下さい。今回は、A2~A6のデータをまとめて「東京」というグループ名にします。

A1~A6のセルを選択します。

「数式」タブの「選択範囲から作成」をクリックします。

上端行にチェックが入っていることを確認し、「OK」ボタンをクリックします。これで「東京」というグループ名が作成されます。

「大阪」はB1からB3を選択して同じ手順で作成します。作成できたら、正しく設定できたか確認します。▼ボタンをクリックします。「大阪」と「東京」が表示されたらOKです。

3.入力規則の設定をする

Sheet1に戻ります。A2セルを選択します。データタブの「入力規則」をクリックします。

入力値の種類は、「リスト」を選択します。元の値は、「東京,大阪」を入力します。「OK」ボタンをクリックします。

続いて、B2セルを選択します。データタブの「入力規則」をクリックします。

入力値の種類は、「リスト」を選択します。元の値は、「=INDIRECT(A2)」を入力します。「OK」ボタンをクリックします。

INDIRECT関数は、指定したセルに入力されているセル参照を用いて、間接的なセルの指定を行います。

今回の例では、A2セルに「東京」か「大阪」のどちらかが選択されます。東京を選択した場合は、名前の定義(グループ名)により、A2~A6が表示されます。

以上で設定は完了です。

コメント