PR

Excelで連動プルダウンを作る方法|INDIRECT関数で選択肢を自動変更

Excel
記事内に広告が含まれています。

「果物」を選んだのに、次のプルダウンに

  • リンゴ
  • バナナ
  • ニンジン
  • キャベツ
  • コーヒー

が全部出てきて見づらい…
そんな経験はありませんか?

Excelでは「連動プルダウン」を使うことで、1つ目の選択内容に応じて次の選択肢を自動で切り替えることができます。

この記事では、

  • 連動プルダウンの作り方
  • 名前の定義の設定方法
  • INDIRECT関数の使い方
  • うまく動かない原因
  • 別シートでの設定方法

を図解付きで解説します。

連動プルダウンの完成イメージ

まずは完成イメージをご覧ください。

・1つ目のプルダウンで「果物」を選択すると、2つ目のプルダウンには果物だけが表示
・2つ目のプルダウンで「野菜」を選択すると、2つ目のプルダウンには野菜だけが表示
と、1つ目に選択した項目に応じて、次の選択肢が変更されます。

この仕組みを「連動プルダウン」と呼びます。

連動プルダウンを使うメリット

連動プルダウンを利用すると、入力作業の効率化や入力ミスの防止につながります。
具体的には、以下のようなメリットがあります。

関係のない選択肢を表示しない

通常のプルダウンリストでは、すべての選択肢が表示されます。

例えば、カテゴリ:果物を選択したにもかかわらず、

・リンゴ
・バナナ
・ニンジン
・キャベツ
・コーヒー

などが表示されると、選びにくくなってしまいます。

連動プルダウンを利用すると、カテゴリに応じた選択肢だけを表示できるため、入力しやすくなります。

入力ミスを防止できる

関連する選択肢だけを表示するため、誤ったデータの入力を防ぐことができます。

特にアンケートや申請書などでは、入力内容の品質向上にもつながります。

入力作業を効率化できる

不要な選択肢を探す必要がなくなるため、入力時間を短縮できます。

選択肢が多い管理表ほど効果を実感しやすいでしょう。

データの統一ができる

自由入力ではなく選択式にすることで、

・表記ゆれ
・入力ミス
・不要なデータ

を減らすことができます。

集計や分析を行う際にも非常に便利です。

連動プルダウンとは?

連動プルダウンとは、最初に選択した内容によって次のプルダウンの選択肢が変化する仕組みです。

例えば、「カテゴリ」 → 「商品」という入力フォームの場合、

・「果物」を選択 →「リンゴ」、「バナナ」、「ブドウ」、「モモ」を表示
・「野菜」を選択 →「ニンジン」、「タマネギ」、「キャベツ」、「キュウリ」、「トマト」を表示

といった、関連する選択肢だけを表示することができます。

入力ミス防止や入力作業の効率化に役立つため、アンケートや管理表でよく利用されています。

連動プルダウンを作る準備

今回は以下のようなデータを用意します。
セルH2で「カテゴリ」を選択し、セルH3でそのカテゴリに連動する項目を表示させます。

・「果物」を選択   :「リンゴ」、「バナナ」、「ブドウ」、「モモ」
・「野菜」を選択   :「ニンジン」、「タマネギ」、「キャベツ」、「キュウリ」、「トマト」
・「飲み物」を選択  :「ミルク」、「烏龍茶」、「コーヒー」、「紅茶」
・「アルコール」を選択:「ビール」、「ワイン」、「焼酎」

完成すると、
1つ目のプルダウンでカテゴリを選択 → 2つ目のプルダウンで対応する項目のみ表示
という仕組みになります。

まずは、このデータをExcelシート上に準備しましょう。

名前の定義を設定する方法

連動プルダウンでは、「名前の定義」を利用します。
名前の定義とは、セル範囲に名前を付ける機能です。

例えば、セル範囲B2:B5を「果物」という名前で登録しておくと、後からその範囲を「=果物」として参照できるようになります。

名前の定義の設定方法は以下のとおりです。

■設定手順

1.「数式」タブより、「名前の管理」を選択

2.「名前の管理」画面が表示されるので、「新規作成」を選択

3.「新しい名前」画面の「名前」に「果物」と入力し、「参照範囲」にリスト化したい範囲を選択して「OK」を選択
(※果物を設定する場合)

これで「果物」に対応する項目を設定することができました。

4.同じ手順で、「野菜」、「飲み物」、「アルコール」も作成していきます。

これで連動プルダウンの準備は完了です。

👉「名前の定義」はグラフにも活用できるので、とても便利な機能です。
こちらの記事で紹介していますので、興味のある方はチェックしてみてください。
※記載場所→OFFSET関数で「直近7日間」をグラフ化する方法

INDIRECT関数で連動させる方法

次に、2つ目のプルダウンを連動させます。
セルH3を選択した状態で、データの入力規則から「元の値」に以下を入力してください。

=INDIRECT($H$2)

H2には1つ目のプルダウンが設定されています。

例えば、H2 = 野菜の場合、

=INDIRECT("野菜")

として認識されます。

すると、名前の定義で登録した「野菜」の範囲を自動で参照してくれます。

その結果、カテゴリに応じて表示内容が切り替わる連動プルダウンが完成します。

INDIRECT関数とは、セルのアドレスを文字として使って、その場所にあるデータを取り出す関数です。

👉INDIRECT関数については、以下記事で解説・他の便利な活用例も紹介しています。
ぜひチェックしてみてください。

連動プルダウンがうまく動かない原因

設定したのに連動しない場合は、以下を確認してください。

名前の定義と文字が一致していない

最も多い原因です。

例えば、プルダウンが「果物」、名前の定義が「果物リスト」になっていると連動しません。

両方を同じ名称にしてください。

全角スペースや余計な文字が含まれている

見た目は同じでも、

果物
果物 

は別物です。(下の果物には、スペースが入っています)

スペースが入っていないか確認しましょう。

名前の定義の参照範囲が間違っている

名前は合っていても、参照範囲がずれているケースがあります。

例えば、

果物 → B2:B5

のつもりが、

果物 → B3:B5

になっていると、選択肢が正しく表示されません。

名前の管理から参照範囲を確認しましょう。

INDIRECT関数の参照先が違う

例えば、

=INDIRECT($H$2)

のつもりが、

=INDIRECT($H$3)

になっているケースがあります。

参照セルを確認してください。

名前に空白が含まれている

名前の定義では空白を含められません。

NG例

好きな 果物

OK例

好きな果物

名前を定義する場合は、空白を含まないよう注意してください。

名前の定義を変更した後に設定を見直していない

後から名前の定義を変更した場合、プルダウン設定と不整合になることがあります。

名前の変更後は、入力規則側の設定も確認しましょう。

1つ目のプルダウンが空白

1つ目のプルダウンが未選択の場合、2つ目のプルダウンは表示されません。

まずは1つ目のプルダウンが選択されているか確認してください。

別シートのデータで連動プルダウンを作る方法

実務では、リストを別シートで管理したいことが多いと思います。
その場合でも連動プルダウンは利用可能です。

例えば、シート名「マスタ」にカテゴリ一覧を保存し、名前の定義を設定します。
連動プルダウン側の設定方法は変わりません。

実務では入力シートとマスタシートを分けるケースが一般的です。

・入力シート → 利用者が入力
・マスタシート → 選択肢を管理

としておくと、
後から項目を追加・変更するときも管理しやすくなります。

FAQ(よくある質問)

3段階の連動プルダウンは作れますか?

可能です。
カテゴリ → 商品分類 → 商品名
のように複数段階で連動できます。

Excel 365でも使えますか?

Microsoft 365版Excelでも利用できます。
本記事の手順はExcel 365でも同様に設定可能です。

Excel Onlineでも使えますか?

基本的には利用可能です。
ただし、一部の環境では入力規則の動作が異なる場合があります。

Excel 2016でも利用できますか?

利用できます。
連動プルダウンはExcel標準機能を利用しているため、Excel 2016以降であれば基本的に利用可能です。

テーブル形式でも利用できますか?

利用できます。
ただし、名前の定義や参照範囲の設定方法を工夫する必要があります。

選択肢を後から追加できますか?

可能です。
名前の定義の参照範囲を広げることで、新しい選択肢を追加できます。
項目が頻繁に増える場合は、あらかじめ余裕を持った範囲指定にしておくと便利です。

VBAは必要ですか?

不要です。
連動プルダウンはExcel標準機能だけで実現できます。

プルダウンリストを複数選択できますか?

標準機能ではできません。
複数選択したい場合はVBAを利用します。

👉複数選択したい場合はVBAを利用します。詳しくは以下の記事で解説しています。

連動プルダウンはVBA不要で実現できるため、共有ファイルや社内配布用のExcelでも利用しやすいのが特徴です。

マクロを使えない環境でも活用できるため、まずは標準機能だけで構築してみることをおすすめします。

まとめ:連動プルダウンで入力ミスを減らし、データ入力を効率化しよう

Excelの連動プルダウンを利用すると、最初に選択した内容に応じて次の選択肢を自動で切り替えることができます。

今回紹介した方法を活用すると、

  • 関係のない選択肢を表示しない
  • 入力ミスを防止できる
  • 入力作業を効率化できる
  • データの統一性を保てる

といったメリットがあります。

特に、

  • アンケートフォーム
  • 商品管理表
  • 顧客管理表
  • 申請書
  • マスタ管理シート

など、選択肢が多い業務では非常に効果的です。

設定には「名前の定義」と「INDIRECT関数」を利用しますが、一度作成してしまえば繰り返し活用できます。

また、実務では選択肢を別シートで管理するケースも多いため、本記事で紹介した別シート管理の方法もぜひ活用してみてください。

連動プルダウンを導入することで、入力者にとって分かりやすいフォームを作れるだけでなく、集計や分析もしやすくなります。

ぜひ実際の業務に取り入れて、Excel作業の効率化に役立ててみてください。

👉なお、プルダウンリストから複数の項目を選択したい場合は、以下の記事でVBAを使った複数選択の方法を解説しています。

ろじゃー

仕事・子育てに奮闘中の社会人です。
仕事でも日常生活でも、ちょっとでも便利になることが紹介できるブログを書いています!
 
仕事柄、PC操作やエクセル、VBAなどは得意です!
Excel歴は10年以上の事務職。
関数やVBAを活用して、資料作成やデータ分析をはじめとした様々な業務の効率化・自動化に取り組んできました。
 
このブログでは、実際の業務で使える効率化テクニックを発信しています。
「わからない」や「困った」など問題を抱える方や、もっと効率化したいと思っている方に、少しでも役立てれば幸いです!

ご質問・ご相談など、お気軽にご連絡ください。

🥷 「現代で暮らすゆる忍者」ラインスタンプシリーズ公開中!日常や仕事、夫婦の会話など様々なシーンを製作しています
▶ LINEスタンプ一覧はこちら

ろじゃーをフォローする
ご質問・ご相談はこちらへ!
 ろじゃー|日々、ちょっとずつ良くなることを目指すブロガー
Excel歴10年以上。VBAや関数、業務効率化などを発信中。
📩 お問い合わせはこちら
Excel
シェアする
ろじゃーをフォローする

コメント

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