エクセルで連動するプルダウンを作る方法|INDIRECT関数で選択肢が切り替わる2段階リスト

エクセル プルダウン 連動|選んだ内容で次の選択肢が変わる プルダウン(入力規則)

「都道府県を選ぶと、次のプルダウンに市区町村が出てくる」のように、1つ目の選択によって2つ目の選択肢が変わる仕組みを「連動プルダウン」と呼びます。

設定には、名前の定義とINDIRECT関数を使います。手順を順番に説明します。

連動プルダウンの仕組み

連動プルダウンは、次の3つを組み合わせて作ります。

  • 1つ目のプルダウン:通常のリスト(例:果物、野菜)
  • 名前の定義:選択肢の一覧に、1つ目の選択肢と同じ名前をつける
  • 2つ目のプルダウン:INDIRECT関数で、1つ目で選んだ名前の一覧を参照する

1つ目の選択肢(果物)と同じ名前をつけた一覧を用意しておくと、INDIRECT関数が「果物」という文字から、同じ名前の一覧を探して表示します。

手順1:選択肢の表を用意して名前をつける

分類ごとの選択肢の表を用意し、列ごとに分類名と同じ名前を定義する様子を示した図

手順1|分類ごとの選択肢を、列ごとに入力する(A列に果物、B列に野菜など)

手順1:分類ごとの選択肢を、列ごとに入力する(A列に果物、B列に野菜など)

手順2|各列の選択肢だけ(見出しを除く)を選び、画面左上の名前ボックスに分類名を入力して Enter を押す

手順2:各列の選択肢だけ(見出しを除く)を選び、画面左上の名前ボックスに分類名を入力して Enter を押す

手順3|同じ手順を、すべての列で行う

手順3:同じ手順を、すべての列で行う

手順2:1つ目のプルダウンを作る

1つ目のセル(例:E2)に、分類の一覧のプルダウンを作ります。「データの入力規則」で「リスト」を選び、元の値に「果物,野菜」と入力します。

手順3:2つ目のプルダウンをINDIRECT関数で作る

手順1|2つ目のセル(例:F2)を選び、「データの入力規則」を開く

手順1:2つ目のセル(例:F2)を選び、「データの入力規則」を開く

手順2|「入力値の種類」を「リスト」にする

手順2:「入力値の種類」を「リスト」にする

手順3|「元の値」に「=INDIRECT(E2)」と入力して「OK」をクリックする

手順3:「元の値」に「=INDIRECT(E2)」と入力して「OK」をクリックする
=INDIRECT(E2)

E2で「果物」を選ぶと、F2のプルダウンに「りんご、みかん、ぶどう」が表示されます。E2を「野菜」に変えると、「にんじん、だいこん、ほうれん草」に切り替わります。

1つ目が空のときのエラー

E2が空欄の状態でF2のプルダウンを開くと、「元の値がエラーと判断されます」というメッセージが出ることがあります。1つ目を選んでから、2つ目を選ぶようにします。

うまく表示されないときの確認ポイント

  • 名前が一致していない:1つ目の選択肢と、定義した名前が一字でも違うと動きません
  • 名前にスペースや記号が入っている:名前には使えません。「果物」「野菜」のように短くします
  • 範囲に見出しが含まれている:見出しまで選択肢に出てしまうので、定義の範囲から外します
  • 参照セルがずれている:INDIRECTの引数は、1つ目のセル(E2)にします
  • 別のブックの名前は使えない:同じブックの中に一覧を用意します

まとめ

  • 連動プルダウンは、名前の定義とINDIRECT関数で作る
  • 分類ごとの一覧に、1つ目の選択肢と同じ名前をつける
  • 2つ目のプルダウンの元の値は「=INDIRECT(1つ目のセル)」
  • 名前は一字一句同じにし、スペースや記号は使わない
  • 1つ目を選んでから、2つ目を選ぶ

入力ミスを防ぎながら、詳しい分類まで選べる表が作れます。

コメント

タイトルとURLをコピーしました