エクセルのプルダウンを連動させて隣の選択項目が変化するリストを作成しよう!

エクセルのプルダウンを連動させて、となりの選択項目が変化するリストの作り方を教えてください。

隣のセルを選択したら、次のセルが自動的に絞り込まれると入力が楽になるよね。セルが連動するプルダウンの作り方を教えるね。
エクセルでは、1つ目のプルダウンで「総務部」を選択すると、2つ目のプルダウンでは総務部に所属する「総務課」、「人事課」、「経理課」のみを表示させるといったプルダウンを作成できます。
- 「総務部」、「製造部」、「営業部」と、各部に所属する「課」の名称を入力した表を作成
- データの入力規則のリストを使って、「総務部」、「製造部」、「営業部」を選択するプルダウンを挿入
- 元の値にINDIRECT関数を挿入し、②で作成してプルダウンの隣の列に前のセルで選択した各部に所属する「課」のみが表示されるプルダウンを作成する
今回は、社員名簿を作成していますが、表の見出しと項目を変更すれば目的に合ったプルダウンを作ることが可能です。
前のセルで選択した項目に合わせて隣のセルの選択肢が2段階、3段階に変化するリストの作成方法を、わかりやすく解説していますので参考にしてみてください。
エクセルのプルダウンを2段階で連動する社員名簿を作成する方法
エクセルでセルを連動させると、プルダウンを挿入したときに隣のセルの入力項目が自動で変化するリストを作成することができます。
複数のプルダウンを連動させると、選択肢が絞り込まれるので入力ミスを防ぐ効果があります。
今回は社員名簿を例に作成していますが、元の表の内容を変更すれば実際のデータに合わせることが可能です。
複雑そうに見えますが、手順通りに進めれば簡単にできるので挑戦してみてください。
「部署名」の下に各課を入力した表を作成
空いているセルに、「部署名」とその部に所属する「課」の名称を入力した表を作成します。
表の見出し部分に「部署名」、各部の下に所属する「課」の名称を入力した表を作成してください。
各部の下に入力する「課」の数はすべて同じ数にする必要はありません。
「部署名」を選択するプルダウンを挿入する
「部署名」を選択するプルダウンを挿入します。
所属部署を入力する「所属」の範囲を選択します。
- 「データ」タブをクリック
- 「データの入力規則」のアイコンを押す
- 「データの入力規則」を選択
- 「設定」タブをクリック
- 入力値の種類の下向き矢印をクリックして「リスト」を選択
- 元の値の枠内をクリック
- 1段めの項目範囲「K4:M4」をドラッグ
- 「OK」をクリックする
1段めの「総務部・製造部・営業部」を選択するプルダウンを挿入することができました。
各部に所属する「課」を選択するプルダウンを挿入
次に、各部に所属する「課」を選択するプルダウンを挿入します。
- 「課」のプルダウンを挿入する範囲を選択
- 「データ」タブをクリック
- 「データの入力規則」のアイコンの下向き矢印をクリックする
- 「データの入力規則」を押す
- 入力値の種類を「リスト」に変更
- 元の値に「=INDIRECT(D6)」と入力
- 「OK」をクリック
=INDIRECT(D6)」
INDIRECT関数の引数のセル番地は青枠のセル番号を指定するよ。
データの入力規則の「OK」をクリックすると、「元の値はエラー値と判断されます。続けますか?」というメッセージが表示されます。
この画面が表示されたら、「はい」をクリックしてください。
D列で選択した項目に合わせて、E列の項目が変化するプルダウンを挿入することができました。
INDIRECT関数は、参照するセルをずらす関数です。
INDIRECT関数を使うと、数式自体は変更せずに数式内で使用している参照セルを変更できます。
2段階のプルダウンを応用して3段階に連動するリストを作成する手順
2段階だけではなく3段階で連動するプルダウンリストを作成することもできます。
この画像のように、ブロックを選択すると「支店名」、「社員名」が3段階で絞り込まれるプルダウンを作成してみましょう。
今回は手順がわかりやすいように、同じシートに入力する表とプルダウンに使う表を作成する方法で紹介するね。
3段階のプルダウンを作成するための準備
プルダウンを使ってデータを入力する表とプルダウンのリストの元になる表をそれぞれ作成します。
3段階のプルダウンを作成するための準備は以下の3つです。
- プルダウンを使って入力する表の作成
- 各ブロックに所属している支店名を記入した表と支店に所属している社員名簿の表を作成
- 支店名の表と支店に所属している社員名簿の表をテーブルに変換して、名前をつける
プルダウンを使って入力する表を作成
プルダウンを使って入力する表を作成します。
「ブロック」、「支店」、「氏名」という見出しをつけた画像のような表を作成しておきましょう。
各列にはデータの入力規則を使って、プルダウンで入力できるリストを挿入します。
各ブロックに所属している支店と支店に所属している社員名簿の表を作成
各ブロックに所属している支店と支店に所属している社員の名簿を作成します。
ブロック名を見出しにして、ブロックに所属する支店名を同じ列に入力してください。
その隣に、支店名を見出しにして、各支店に所属している社員の氏名を入力しましょう。
プルダウンに使用する表は、それぞれ別のシートに作成することもできるよ。
作成した表をテーブルに変換して名前をつける
作成した表をテーブルに変換して、名前をつけておきます。
- ブロック別の支店名の表を選択
- 「ホーム」タブをクリック
- 「テーブルとして書式設定」を押す
- 任意の書式をクリックする

上記と同じスタイルを選択すると、自分で選択した見出しの色が使えるからおすすめだよ。
表示されたテーブルの範囲を確認して「OK」をクリックしてください。
社員名が書かれている表の範囲を選択して、同じようにテーブルに変換しておきましょう。
2つの表をテーブルに変換することができました。
- ブロック別の支店名が入力されている表の範囲を選択
- 「数式」タブをクリック
- 「選択範囲から作成」をクリックする
- 「左端列」のチェックを外す
- 「OK」をクリックする
同じ手順で社員名簿の表を選択しておきます。
- 「選択範囲から作成」をクリック
- 「左端列」のチェックを外す
- 「OK」をクリックする

「上端行」のみにチェックを入れると、見出し部分が名前として登録されるよ。
これで、3段階に変化するプルダウンを作るための準備は完了です。
「ブロック」の列に「関東」、「関西」、「九州」を選択するプルダウンを挿入
「ブロック」の列に「関東」、「関西」、「九州」を選択するプルダウンを挿入します。
- 「ブロック」の列を選択
- 「数式」タブをクリック
- データの入力規則のアイコンの下向き矢印をクリックする
- 「データの入力規則」を選択
- 入力値の種類を「リスト」に変更
- 元の値の枠内をクリックする
- ブロック名が記載されている「E1:G1」の範囲をドラッグする
- 「OK」をクリック
セルの範囲を選択すると、元の値の範囲は自動的に絶対参照で入力されるよ。
「A2」クリックして、プルダウンの三角を押すと「関東ブロック」、「関西ブロック」、「九州ブロック」の文字が選択できるようになりました。
「支店」の列に支店名を選択するプルダウンを挿入する
「支店」の列に支店名を選択するプルダウンを挿入します。
「支店」のプルダウンと「氏名」のプルダウンを挿入するときは、元の値にINDEIRECT関数を使います。
- 「支店」の列を選択
- 「データ」タブをクリック
- データの入力規則のアイコンの下向き矢印を押す
- 「データの入力規則」を選択する
- 入力値の種類を「リスト」に変更
- 元の値の枠内をクリックして「=INDIRECT(A2)」と入力
- 「OK」をクリック
=INDIRECT(A2)
INDIRECT関数の引数に入れるセル番地は、ブロックの列の先頭のセルを指定してね。
「元の値はエラーと判断されます。続けますか?」というメッセージが表示されるので、「はい」をクリックしてください。
「A列」のブロックで選択した項目に該当する支店名だけが表示されるプルダウンが挿入されました。
「氏名」の列に社員名を表示するプルダウンを挿入
同様にして、「氏名」の列に選択した「支店」に該当する社員の氏名だけが表示されるプルダウンを挿入していきます。
- 「氏名」の列を選択
- 「データ」タブをクリック
- データの入力規則のアイコンの下向き矢印を押す
- 「データの入力規則」を選択する
- 入力値の種類を「リスト」に変更
- 元の値の枠内をクリックして「=INDIRECT(B2)」と入力
- 「OK」をクリック
=INDIRECT(B2)
表示されたメッセージ画面の「はい」をクリックしてください。
支店に所属している社員名だけが表示されるプルダウンを挿入することができました。
今回は、3段目までのプルダウンの作り方を紹介しましたが、同じように作成すれば3段以上のプルダウンを作成することも可能です。
IF関数とVLOOKUP関数でセルを連動して文字や数字が自動で表示されるプルダウンを作成する
商品名を選択したら自動で単価が表示されるようにすることはできますか?
そういう場合は、プルダウンとVLOOKUP関数を組み合わせてみよう!
プルダウンとVLOOKUP関数を組み合わせて連動させておくと、プルダウンで選択したテキスト名の単価を自動表示できます。
今回は、VLOOKUP関数だけを挿入した場合とIF関数を組み合わせた場合の違いをわかりやすくするために、VLOOKUP関数を挿入したあとにIF関数を追加する手順で紹介しています。
単価のセルに計算式を入力するときに、最初からIF関数とVLOOKUP関数を組み合わせておけば、計算式をコピーし直す必要はありません。
A列にテキスト名が表示されるプルダウンを挿入していきます。
- プルダウンの挿入範囲を選択
- 「データ」タブをクリックする
- 「データの入力規則」のアイコンをクリック
- 「データの入力規則」を選択する
- 入力値の種類を「リスト」に変更
- 元の値の枠内をクリック
- テキスト名が入力されている範囲をドラッグする
- 「OK」をクリックする
- 「B4」のセルをクリック
- 「=VLOOKUP(A4,$G$4:$H$11,2,0)と入力
=VLOOKUP(A4,$G$4:$H$11,2,0)
VLOOKUP関数は、指定したセルに文字が入力されると引数の範囲内の表にある文字に対応した列の値を返す関数です。
VLOOKUP関数の構文:=VLOOKUP(検索値,範囲,列番号,検索の型)
検索値:A4(プルダウンで入力するセル番地)
範囲:テキスト名と単価が入力されている表の範囲(表の範囲は絶対参照で指定する)
列番号:単価が入力されているのは2列目なので「2」を指定
検索の型:完全一致を意味する「0」を指定
プルダウンからテキスト名を選択すると、単価が自動で入力されました。
VLOOKUP関数を挿入した「B4」のセルをクリックします。
セルの右下の■にマウスポインタを合わせて「B12」のセルまでドラッグして、計算式をコピーしましょう。
VLOOKUP関数をコピーすると、青枠のような「#N/A」というエラーが表示されます。
「#N/A」は、値が使用できないという意味のエラーです。
A列に挿入したプルダウンで項目が選択されていると単価が表示されますが、何も入力されていない場合は参照するセルの値が空白になっているため、「#N/A」エラーが表示されてしまいます。
A列が選択されていないときにエラーが表示されないように、VLOOKUP関数にIF関数を追加しておきましょう。
B4のセルを選択しておきます。
- VLOOKUPの文字の前に「IF(A4="","",」と入力
- 計算式の最後に「)」を入力する
IF関数を挿入した後の数式は、以下のようになります。
=IF(A4="","",VLOOKUP(A4,$G$4:$H$11,2,0)
IF関数の引数の「A4="","",」は、もし、A4のセルが空白のときは空白のままにしてねという意味だよ。
もう一度B4のセルをクリックして、計算式をコピーしなおしておきましょう。
<参考>
D列に単価×数量の計算式を入力しておくと金額の計算結果も自動で表示することができますが、単価のときと同様でB列に何も入力されていないときは「0」または「#N/A」が表示されてしまいます。
金額の列に「=IF(C4="","",B4*C4)」のように数量のC4のセルが空白の時は空白にするというIF関数を組み合わせた計算式を入力しておくと、不要な「0」やエラーが表示されなくなります。
=IF(C4="","",B4*C4)

データが見やすくなるから、試してみてね!
エクセルのプルダウンを連動するに関するQ&A
- エクセルで入力したデータを自動反映させる方法を教えてください。
-
プルダウンで入力したセルを使ったVLOOKUP関数を挿入すると、本文内で紹介したような商品名を入力すると単価が自動入力されます。
詳しい手順は、IF関数とVLOOKUP関数でセルを連動して文字や数字が自動で表示されるプルダウンを作成するを参考にしてみてください。
- エクセルで複数のセルを連動させたいのですがどうすればいいですか?
-
1つめのプルダウンを挿入すると、入力された内容に連動して次のセルの選択項目が変化するプルダウンを作成することができます。
連動するプルダウンを作成したい場合は、2つ目のプルダウンの値にINDIRECT関数を挿入します。
エクセルのプルダウンが連動して自動で隣のセルの入力項目が変わるリストの作り方で詳しく解説していますので、こちらをご覧ください。
3段階以上のプルダウンを作成したい場合は、2段階のプルダウンを応用して3段階に連動するリストを作成する手順を参考にしてみてください。
- エクセルでセルを連動させる関数はありますか?
-
入力する内容によってセルを連動させたいときに使用する関数は変わります。
例えば、プルダウンが2段階で変化するようにリストを作成したい場合は、2つ目のプルダウンの元の値にINDIRECT関数を使います。
商品名を入力すると自動で単価が表示されるように連動させたい場合は、VLOOKUP関数と組み合わせます。
本文では、INDIRECT関数を使って連動するプルダウンの作り方と、IF関数とVLOOKUP関数でセルを連動して文字や数字が自動で表示されるプルダウンを作成する2つの方法を紹介していますので、参考にしてみてください。
エクセルのプルダウンを連動させて入力しやすいデータを作成してみよう!
エクセルのプルダウンを連動させる方法は1つではありません。
本記事で紹介したように、セルを連動するとプルダウンの選択項目を変化させたり、別のセルに文字や数字が入力させたりできます。
データに合わせてうまく活用してみてください。
最後に、2段階に変化するプルダウンを使った社員名簿の作り方をおさらいしておきましょう。
- 「総務部」、「製造部」、「営業部」と、各部に所属する「課」の名称を入力した表を作成
- 「総務部」、「製造部」、「営業部」を選択するプルダウンを挿入
- 元の値にINDIRECT関数を使い、②で作成してプルダウンの隣の列に前のセルで選択した各部に所属する「課」のみが表示されるプルダウンを挿入する
エクセルのプルダウンは、連動させることでさらに便利に使うことができます。
セルを連動する方法をマスターして、入力しやすい書類を作成してみてください。
エクセルのプルダウンは、セルを連動させるだけではなく、プルダウンで入力した文字を使って色分けやソート機能を追加することができます。
他の関数や条件付き書式の機能と組み合わせる方法もぜひチェックしてみてください。