📢 業務の負担を減らすなら、プロのオンライン秘書『i-STAFF』に相談! Excel作業もサポート!《無料相談はこちらをクリック》

エクセルプルダウンの連動で絞り込み&自動表示をする方法

10 min 44,994 views
エクセル初心者

エクセル初心者

エクセルのプルダウンは連動させることができるのですか?

データ量が多くて選ぶのが大変なので、是非つくり方を覚えたいです!

連動プルダウンは、セルごとに決まった選択肢を絞り込めるから、ミスを防げて入力作業もぐんと楽になるよ。

Dr.オフィス

Dr.オフィス

本記事でエクセルのプルダウンを連動させるテクニックを学ぶと、選択肢が整理されて必要な情報だけを表示できるようになるため、入力の正確性が高まり、作業効率を向上させることができます。

エクセルのプルダウンを連動させる簡単ステップ
  1. 親リストと子リストの関係がわかる一覧表をつくる
  2. 子リストのセル範囲に名前をつける
  3. INDIRECT関数で名前を参照してプルダウンを連動させる

経理部歴20年、経費精算書や予算管理表などで、連動プルダウンを活用してきた私が丁寧に解説するよ!

Dr.オフィス

Dr.オフィス

エクセルの連動プルダウンは、商品名→種類→型番というように、親リストから子リストへと段階的に選択肢を絞り込むことができます。

プルダウンリストの作成方法や便利な応用テクニックについては、こちらで詳しく解説していますので是非ご覧ください。

※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。

エクセルプルダウンの連動リストを完成させる!実務で役立つ作成方法

エクセルでプルダウンを連動させる方法を、実務でもすぐ活用できるように解説します。

こちらの商品リストは、この記事でこれから作成する連動プルダウンです。

親リストで『マウス』を選ぶと、子リストでは『有線』と『ワイヤレス』だけが表示され、さらにその選択内容に応じて「型番」も絞り込まれます。

具体的な操作に入る前に、まずは連動プルダウンを作成するための3つの手順を確認しておきましょう。

手順目的
1.親リストと子リストの関係がわかる一覧表をつくる子リストに名前を付ける際、正しいセル範囲を選択できるようにするため
2.子リストのセル範囲に名前を付ける後でINDIRECT関数でその名前の付いたセル範囲を参照できるようにするため
3.INDIRECT関数で名前を参照してプルダウンを連動させる親の選択肢に応じて子リストが切り替わるようにするため

今回は、「商品名」にはあらかじめ入力規則で選択肢が設定されている前提で、次の2つの親→子の連動プルダウンを作成していきます。

  • 一段階目:「商品名」→「種類」
  • 二段階目:「種類」→「型番」

それでは、上記3つの手順に沿って、まずは「商品名」を選ぶと「種類」が切り替わる一段階目の連動プルダウンからつくっていこう!

Dr.オフィス

Dr.オフィス

親リストと子リストの関係がわかる一覧表をつくる

一段階目の連動プルダウンでは、「商品名」が親リストで、「種類」が子リストです。

商品リストの隣りに一覧表と名前を付けた別シートを作成し、このように「商品名」と「種類1」、「種類2」の親子関係をまとめた一覧表を作成しましょう。

この一覧表は、次の操作でそのままセル範囲として使うため、必ずここで作成しておきます。

子リストのセル範囲に名前を付ける

一覧表ができたら、子リストの「種類1」、「種類2」のセル範囲に名前を付けましょう。

後ほど、この名前を付けた範囲を子リスト側のプルダウンに表示する選択肢として使うことで、親リストに合わせて内容を切り替えることができるようになります。

  1. STEP

    『有線・ワイヤレス』のセル範囲に名前を付ける

    『有線・ワイヤレス』のセル範囲を選択して名前を付けます。

    1. 一覧表のセルB2からC2を選択する
    2. 左上の名前ボックスに『マウス』と入力し、文字を確定するのに1回、名前を確定するのに1回と、合計2回Enterを押す

    名前は、親リストで選択される文字と同じ名前、つまり『マウス』と付けたよ。

    こうしておくと、後で使うINDIRECT関数でそのまま親リストの文字を参照できるようになるんだ。

    Dr.オフィス

    Dr.オフィス

  2. STEP

    『メンブレン・メカニカル』のセル範囲に名前を付ける

    『メンブレン・メカニカル』のセル範囲に名前をつけます。

    1. セルB3からC3を選択
    2. 名前ボックスに『キーボード』と入力し、Enterを2回押す

    名前を付けた後、もう一度セルB3からC3を選択してみて、名前ボックスに『キーボード』と表示されれば、名前は正しく付けられているよ。

    では、残りの3つについても、親リストで選ぶ文字と同じ名前を付けてね。

    Dr.オフィス

    Dr.オフィス

INDIRECT関数で名前を参照してプルダウンを連動させる

子リストの「種類1」、「種類2」のセル範囲に名前を付けたら、次は入力規則でINDIRECT関数を使い、その名前を参照できるように設定しましょう。

この設定を行うと、プルダウンが連動し、例えば『マウス』を選ぶと隣りのセルでは『有線・ワイヤレス』の選択肢が表示されるようになります。

  1. STEP

    セルを選択して入力規則の設定画面を開く

    商品リストを表示し、D列「種類」に入力規則を設定します。

    1. セルD2からD6を選択する
    2. 「データ」タブを選択
    3. 「データの入力規則」をクリックする
  2. STEP

    設定画面でINDIRECT関数を設定する

    1. 「データの入力規則」が開くので、「入力値の種類」で「リスト」を選択
    2. 「元の値」に以下の数式を入力する
    3. 「OK」ボタンを押す
    4. 「元の値はエラーと判断されます。続けますか?」とメッセージが出たら、「はい」ボタンを押す
    =INDIRECT(C2)
  3. STEP

    種類の選択肢を絞り込めた

    「商品名」で『マウス』を選択し、「種類」のセルをクリックすると、『有線・ワイヤレス』の選択肢が表示されるようになりました。

    一段階目の連動プルダウンの完成です。

    『=INDIRECT(C2)』の(C2)は、親リストで選んだ文字が入っているセルだよ。

    (C2)に『マウス』と入っているから、INDIRECT関数は一覧表の『マウス』という名前のセル範囲B2:C2を探しにいって、『有線・ワイヤレス』と表示してくれるんだ。

    Dr.オフィス

    Dr.オフィス

    「元の値はエラーと判断されます。続けますか?」は、設定時にセルC2が空欄だったためINDIRECT関数が空の名前を参照し、一時的に表示されたもので問題ありません。

プルダウンで絞り込み!エクセルで二段階連動リストを仕上げよう

続いて、「種類」→「型番」の二段階目の連動プルダウンを作成しましょう。

  1. STEP

    種類と型番の関係を一覧表にする

    一段階目と同じように、今度は子リストとなる「型番」のセル範囲に名前を付けられるよう、「種類」と「型番1」、「型番2」の親子関係の一覧表をつくりましょう。

  2. STEP

    型番のセル範囲に名前を付ける

    ここでは項目数が多いため、選択範囲から一括で名前を付ける方法を使います。

    1. 一覧表のセルE2からG11を選択する
    2. 「数式」タブを選択
    3. 「選択範囲から作成」をクリックする
    4. 「選択範囲から名前を作成」ダイアログが開いたら、「左端列」にチェックを入れる
    5. 「OK」ボタンを押す
  3. STEP

    セルを選択して入力規則の設定画面を開く

    商品リストを表示し、「種類」に『有線』と入力した状態で、E列「型番」に入力規則を設定します。

    1. セルE2からE6を選択する
    2. 「データ」タブを選択
    3. 「データの入力規則」をクリックする
  4. STEP

    設定画面でINDIRECT関数を設定する

    1. 開いた「データの入力規則」で、「入力値の種類」から「リスト」を選択
    2. 「元の値」に以下の数式を入力する
    3. 「OK」ボタンを押す
    =INDIRECT(D2)
  5. STEP

    型番の選択肢を絞り込めた

    「型番」のセルをクリックすると、『有線』に対応した選択肢の『A-001・B-237』を表示できました。

    これで二段階目の設定が終わり、「商品名」を起点とした「種類」→「型番」の二段階連動プルダウンリストが完成しました。

    エクセル初心者

    エクセル初心者

    一括で名前を付ける方法ですが、左端列にチェックを入れることで、一覧表の左端にある有線、ワイヤレスなどがそのまま名前として使われたということですね。

    そのとおりだよ。

    連動プルダウンが増えて一覧表が複数になっても、まとめて選択して一括で名前を付けられるから便利だね。

    Dr.オフィス

    Dr.オフィス

プルダウン連動の次はエクセルのIF関数で値を切り替えよう!自動で条件分岐する方法

エクセルのIF関数は、特定の条件に合わせて表示する値を自動で切り替える関数です。

ここでは、その特徴である"条件分岐"を連動プルダウンに組み合わせて活用する方法を解説します。

連動プルダウンと合わせ技で使えるエクセルのIF関数とは?

初めに、IF関数の基本構文を見てみましょう。

=IF(理論式,真の場合の値,偽の場合の値)

もっとわかりやすくいうと

=IF(①条件,②条件が成立したら表示する値,③条件が成立しなかったら表示する値)

つまり、IF関数は、条件が成立した場合と、成立しなかった場合で表示する内容を切り替えることができる関数です。

こちらの表は、B列「数量」に入力された在庫数が10以上なら「在庫あり」、10未満なら「在庫補充」と表示するように、C列にIF関数を設定した例です。

この数式を上の基本構文①~③に当てはめると以下のようになります。

=IF(①B2>=10,②"在庫あり",③"在庫補充")
①セルB2の値が10以上かどうかを判定
②10以上なら「在庫あり」と表示
③10未満なら「在庫補充」と表示

基本構文を確認できたら、次は実際にIF関数を設定してみよう。

Dr.オフィス

Dr.オフィス

エクセルで選択内容に合わせて自動で表示を切り替える!IF関数の設定方法

B列「配送日」でプルダウンから日付を選ぶと、その日付に応じてF列の「備考」に入力される値が「社内便」、または「委託便」に自動で切り替わるようにIF関数を設定しましょう。

選んだ「配送日」によって「備考」にどちらを表示するかは、以下の内容に基づいてIF関数に組み込みます。

「配送日」の範囲「備考」の表示内容
7月1日~7月24日「社内便」
7月25日~7月31日「委託便」

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

  1. STEP

    余白に日付を入力してコピーする

    まず、B列「配送日」に2025/7/1から2025/7/31の日付のプルダウンを設定するため、余白に同じ期間の日付を入力します。

    1. セルI1を選択して2025/7/1と入力する
    2. セルI1をクリックした状態でセル右下角にマウスを合わせ、十字に変わったらそのまま下方向にドラッグして2025/7/31になるまでコピーする

    日付がうまく表示されないときは、セルを右クリックして「セルの書式設定」を開き、表示形式から日付や種類を選んでね。

    Dr.オフィス

    Dr.オフィス

  2. STEP

    入力規則でプルダウンを設定する

    余白に日付を入力できたら、その日付をプルダウンで選択できるように入力規則を設定します。

    1. セルB2からB6を選択する
    2. 「データ」タブを選択
    3. 「データの入力規則」をクリック
    4. 「入力値の種類」で「リスト」を選択
    5. 「元の値」をクリックしてカーソルが点滅したら、セルI1からI31までを選択する
    6. 「元の値」に『$I$1:$I$31』と自動入力されるのを確認する
    7. 「OK」ボタンを押す
  3. STEP

    日付のプルダウンが完成した

    B列「配送日」のセルをクリックすると、プルダウンで日付を選択できるようになりました。

  4. STEP

    セルを選択してIF関数を入力する

    「配送日」によって「備考」の内容が切り替わるようにするため、IF関数の数式を入力します。

    1. セルF2を選択
    2. 数式バーに以下の数式を入力してEnterを押す
    =IF(MONTH(B2)=7,IF(DAY(B2)<=24,"社内便","委託便"),"")
  5. STEP

    条件に合わせて自動で表示が切り替わった

    「配送日」に7/24と入力すると「社内便」、7/25と入力すると「委託便」と、設定した条件どおりに自動で表示を切り替えることができました。

    セルF2の下のF3には、F2のIF関数の数式をコピーしてあります。
    セルF2の右下角にカーソルを合わせ、マウスが十字になったらそのまま下にドラッグすると、ドラッグした範囲まで数式がコピーされます。

エクセル初心者

エクセル初心者

最初の在庫を例にした数式は簡単でしたが、今設定したIF関数は数式が外側と内側に2つあるようですね。

それぞれの数式の仕組みを以下で説明しているから、興味があったら見てみてね。

Dr.オフィス

Dr.オフィス

外側のIF関数は、①B2が7月かどうかを判定し、②7月なら内側のIF関数式に進み、③7月でなければ空欄を表示する、という数式です。

外側のIF関数式IF(①MONTH(B2)=7,②内側のIF関数式,③"")→『MONTH』の判定をする

構成要素判定の説明
①条件MONTH(B2)=7B2の日付が7月かどうかを判定
②条件が成立した場合の処理IF(DAY(B2)<=24,"社内便","委託便")7月なら内側のIF関数式に進み、日付によって「社内便」か「委託便」かを判定する
③条件が成立しなかった場合の処理""7月以外なら何も表示しない

内側のIF関数は、①B2の日付が7月24日以前かどうかを判定し、②24日以前なら「社内便」、③25日以降なら「委託便」と表示する、という数式です。

内側のIF関数式IF(①DAY(B2)<=24,②"社内便",③"委託便")→『DAY』の判定をする

構成要素判定の説明
①条件DAY(B2)<=24B2の日付が7/24以前かどうかを判定
②条件が成立した場合の処理"社内便"7/24以前なら「社内便」と表示する
③条件が成立しなかった場合の処理"委託便"7/25以降なら「委託便」と表示する

外側のIF関数は、7月かどうかを判定して対象外を除外するフィルターの役割をしていて、内側のIF関数は、日付によって「社内便」か「委託便」かを分類する処理をしています。

IF関数については、エクセルのIF関数で以上・以下を指定でも詳しく解説していますのでご覧ください。

エクセルの連動プルダウンが出てこないときの対処法

連動プルダウンで選択肢が表示されないときの対処法を紹介します。

セル範囲に付けた名前の削除によって選択肢が消えるケース

こちらの商品リストでは、同シート内の一覧表で『有線・ワイヤレス』のセル範囲に『マウス』という名前を付けていますが、『マウス』と入力しても隣りのセルに選択肢が出てきません。

このような場合は何らかの理由で名前が削除されてしまった可能性があるため、まずは確認を行い、削除されていたときは再度名前を付け直すことで解決します。

そのやり方を見てみましょう。

  1. STEP

    管理画面で名前の存在を確認する

    『マウス』という名前があるかどうかを確認するため、「名前の管理」画面を開きます。

    1. 「数式」タブを選択
    2. 「名前の管理」をクリック
    3. 「名前の管理」が開いたら、名前の一覧をチェックする
  2. STEP

    名前がない場合は新規に作成する

    「名前の管理」を確認すると、一覧表の『有線・ワイヤレス』のセル範囲につけた『マウス』という名前がありませんでした。

    そこで、「新規作成」ボタンをクリックします。

  3. STEP

    名前を入力する

    1. 「新しい名前」ダイアログが開くので、「名前」に『マウス』と入力
    2. 「参照範囲」に表示されている文字列を選択しておく
  4. STEP

    名前のセル範囲を選択する

    1. セルH2からI2を選択する
    2. 「参照範囲」が『$H$2:$I$2』に上書きされているのを確認する
    3. 「OK」ボタンを押す
  5. STEP

    管理画面に名前が表示された

    「名前の管理」が開き、『マウス』が再び一覧に表示されていることを確認できました。

  6. STEP

    プルダウンの選択肢が表示された

    「種類」のセルをクリックすると、選択肢が表示されるようになりました。

    名前が削除されたときだけでなく、一致しない場合もプルダウンが出てこないよ。

    次を見てね。

    Dr.オフィス

    Dr.オフィス

名前の変更により選択肢が表示されないケース

連動プルダウンで選択肢が出てこないもうひとつの原因として、名前が変わってしまっているケースがあります。

こちらは、『液晶・有機EL』のセル範囲に『モニター』という名前を付けていますが、『モニター』と入力しても選択肢が出てきません。

この場合についても、「名前の管理」をチェックし、必要な修正を行いましょう。

手順は次のとおりです。

  1. STEP

    管理画面を開いて名前を確認する

    「名前の管理」を開いてみると、『液晶・有機EL』のセル範囲の名前は『ディスプレイ』に変わってしまっています。

  2. STEP

    編集画面を開く

    名前を『ディスプレイ』から元の『モニター』に戻しましょう。

    1. 『ディスプレイ』をクリックして選択する
    2. 「編集」ボタンを押す
  3. STEP

    編集画面で名前を確認する

    「名前の編集」ダイアログが開きますが、名前が『ディスプレイ』になっていますので、次のSTEPで正しい名前に戻します。

  4. STEP

    元の名前に戻す

    1. 『ディスプレイ』を『モニター』に変更する
    2. 「OK」ボタンを押す
  5. STEP

    元の名前に戻すことができた

    開いた「名前の管理」を見ると、変更されていた名前は『モニター』に戻っています。

  6. STEP

    プルダウンで選択肢を表示できた

    「種類」のセルをクリックすると、選択肢を表示することができました。

エクセルプルダウン連動に関するQ&A

Q

プルダウンとドロップダウンはどう違いますか?

A

プルダウンとドロップダウンは基本的に同じ意味で使われ、どちらも選択肢を1つ選ぶ形式のリストを指します。

Q

プルダウンで条件分岐はできますか?

A

IF関数を使い、自動で表示を切り替えることができます。
プルダウン連動の次はエクセルのIF関数で値を切り替えよう!自動で条件分岐する方法で詳しく解説していますのでご覧ください。

Q

エクセルで2つのセルを連動させる方法はありますか?

A

親子リストの一覧を作成し、子のセル範囲に名前を付けてINDIRECT関数で連動させます。
エクセルプルダウンの連動リストを完成させる!実務で役立つ作成方法で解説しています。

プルダウンを連動させてエクセルデータの整合性をキープしよう

今回は、エクセルの連動プルダウンの作成方法と、これと組み合わせてIF関数を使って自動で値を切り替える方法について解説しました。

連動プルダウンは、複数のセルを関連づけて選択肢を絞り込めるため、ミスを防ぎ、作業の効率化に役立ちます。

さらにIF関数と組み合わせれば、条件分岐や自動表示も可能になります。

最後に、エクセルのプルダウンを連動させる方法についておさらいしましょう。

おさらい
  1. 親リストと子リストの関係がわかる一覧表をつくる
  2. 子リストのセル範囲に名前をつける
  3. INDIRECT関数で名前を参照してプルダウンを連動させる

今回解説した連動プルダウンを、情報量の多いデータや複雑になってしまっている資料に取り入れてみてください。

日々の作業がスムーズに進み、業務全体の質が向上すること間違いなしです!

エクセルのプルダウンの作成方法や便利な応用テクニックについては、こちらで詳しく解説していますので是非ご覧ください。

関連記事