Excelでプルダウン(ドロップダウンリスト)を作る方法|基本から連動・VLOOKUP自動入力まで

プルダウン(ドロップダウンリスト)を設定すれば、入力ミスが激減して業務効率がグンと上がりますよ!
- プルダウン(ドロップダウンリスト)の基本的な作り方2パターン
- 別シートの一覧を参照してプルダウンを設定する方法
- UNIQUE関数やテーブル化で選択肢を動的に増やすテクニック
- INDIRECT関数で2段連動プルダウンを作る手順
- VLOOKUP連動で選択に応じた自動入力を実現する方法
- プルダウンが動かない時のトラブルシューティング
商品を選ぶと価格と在庫が自動入力されます(VLOOKUP連動のイメージ)。
| B | C | D | |
|---|---|---|---|
| 2 | |||
| 1 | 商品名 | 単価 | 在庫 |
| B | C | D | |
|---|---|---|---|
| 6 | りんご | 120円 | 50個 |
| 7 | バナナ | 80円 | 120個 |
| 8 | みかん | 150円 | 30個 |
| 9 | ぶどう | 200円 | 80個 |
プルダウン(ドロップダウン)リストとは?使うべき場面
プルダウン(ドロップダウンリスト)とは、セルをクリックすると選択肢が表示され、リストから値を選んで入力できる機能です。「データの入力規則」から設定でき、入力ミスの防止やデータ統一に欠かせないExcelの基本機能です。
例えば「東京」「大阪」「名古屋」と毎回手入力するのではなく、プルダウンから選ぶだけにすれば、「東京都」「とうきょう」など表記ゆれが発生しません。VLOOKUP関数やピボットテーブルなど後続の集計処理も、データが統一されていればエラーなく処理できます。

プルダウンで解決できる3つの課題
- 入力ミスの防止:手入力によるタイポや表記ゆれを排除できる
- 入力スピードの向上:選択するだけなので、長い文字列を何度も入力する手間がなくなる
- データ品質の統一:集計やフィルターが正確に機能するようになる
製造業の現場では、部品番号や工程名の入力欄にプルダウンを設定するだけで月間の入力修正工数が約3割減ったケースがありました。データ集計時の「名前違い」エラーもほぼゼロになります。
基本の作り方:入力した選択肢でプルダウンを設定する
プルダウンの作り方は大きく2つあります。選択肢を直接入力する方法と、セル範囲を参照する方法です。どちらも「データの入力規則」機能を使います。
方法1:直接入力で設定する手順
選択肢が3〜5個程度で、今後変更する予定がない場合に適した方法です。
- プルダウンを設定したいセルを選択する
- 「データ」タブ →「データの入力規則」をクリック
- 「入力値の種類」で「リスト」を選択
- 「元の値」に選択肢を半角カンマ区切りで入力(例:
東京,大阪,名古屋) - 「OK」をクリックして完了
元の値: 東京,大阪,名古屋,福岡,札幌
注意点:カンマは必ず半角(,)にしてください。全角(、)だと1つの値として扱われてしまいます。
方法2:セル範囲を参照して設定する手順
選択肢が多い場合や、後から項目を追加する可能性がある場合はこちらの方法が便利です。
- シート上に選択肢のリストを縦方向に入力する(例:A1:A5)
- プルダウンを設定したいセルを選択
- 「データ」タブ →「データの入力規則」
- 「入力値の種類」で「リスト」を選択
- 「元の値」の入力欄をクリックし、リストのセル範囲をドラッグで選択
- 「OK」をクリック
元の値: =$A$1:$A$5
リストのセル範囲を絶対参照($A$1:$A$5)にしておくと、行や列を挿入してもずれません。
Q: プルダウンを一度に複数のセルに設定できますか?
A: はい。設定したいセル範囲を事前にまとめて選択してから「データの入力規則」を開けば、選択した全セルに同じプルダウンが設定されます。
別シートの一覧からプルダウンを作成する方法
実務では入力フォームとマスターデータを別シートに分けるケースがほとんどです。「名前の定義」または「テーブル参照」を使えば、別シートのリストをプルダウンの選択肢として参照できます。
名前の定義を使う方法
- マスターシートでリストのセル範囲を選択
- 名前ボックス(左上のセル番地表示欄)に名前を入力してEnter(例:
商品リスト) - 入力シートに戻り、プルダウンを設定したいセルを選択
- 「データの入力規則」→「リスト」→ 元の値に
=商品リストと入力
元の値: =商品リスト
メリット:直接セル番地を指定するより管理しやすく、リストの場所が変わっても名前定義を更新するだけで済みます。
テーブル参照を使う方法
リストをテーブル化しておくと、行を追加するだけで自動的にプルダウンの選択肢が増えます。手動で参照範囲を広げる必要がありません。
- マスターシートのリスト範囲を選択 →
Ctrl + Tでテーブル化 - テーブル名を設定(例:
T_商品) - 入力シートの「データの入力規則」→ 元の値に
=INDIRECT("T_商品[商品名]")と入力
元の値: =INDIRECT("T_商品[商品名]")
テーブル参照は「マスターデータ管理」シートを1枚用意し、各種リスト(部署名、商品名、工程名など)をテーブル化して一元管理するのがおすすめです。データ追加のたびに入力規則を修正する手間がなくなります。
選択肢を動的に増やす:UNIQUE関数でリスト自動更新
入力済みデータから重複を除いたユニークな値を自動で取得し、それをプルダウンの選択肢にする方法です。Excel 365 / Excel 2021以降で利用できます。

テーブル化で自動拡張する方法
前のセクションで紹介したテーブル参照を使えば、テーブルに行を追加するだけで選択肢が増えます。ただし重複した値がそのままリストに表示される点がデメリットです。
UNIQUE関数で重複なしリストを自動生成
UNIQUE関数を使えば、入力データから重複を自動除去した「クリーンなリスト」を生成できます。これを名前定義と組み合わせれば、完全自動のプルダウンが完成します。
手順:
- マスターシートの空きセルに
=UNIQUE(A2:A100)と入力(スピルで一覧が出力される) - 出力されたスピル範囲を名前の定義に登録
- 入力シートのプルダウンで
=リスト名を参照
=UNIQUE(A2:A100)
' スピル範囲を名前定義する場合
名前: 商品ユニーク
参照先: =マスター!$E$2# ← 末尾の # はスピル範囲演算子
ポイント:名前定義の参照先にスピル範囲演算子(#)を付けることで、UNIQUE関数の結果が増減してもプルダウンの選択肢が自動的に追従します。
Q: UNIQUE関数がない古いバージョンのExcelではどうすればいいですか?
A: 「重複の削除」機能で別列にユニーク値を作成するか、COUNTIF関数で重複チェックして手動リストを管理する方法があります。テーブル参照を使えばある程度自動化できます。
2段連動プルダウン:INDIRECT関数で選択肢を絞り込む
1つ目のプルダウンで選んだ値に応じて、2つ目のプルダウンの選択肢が自動的に切り替わる仕組みです。例えば「都道府県」を選ぶと「市区町村」の選択肢が絞り込まれる、といった連動が実現できます。

INDIRECT連動の仕組み
INDIRECT関数は、文字列をセル参照として解釈する関数です。1つ目のプルダウンの値を「名前の定義」名として参照することで、選択に応じた範囲を動的に返します。
=INDIRECT(A2)
' A2に「東京」が入っている場合
' → 名前の定義「東京」に登録されたセル範囲を返す
' → 結果: 渋谷,新宿,池袋,品川... のリストが表示される
設定手順:名前の定義からINDIRECT参照まで
- 大分類リストを作成し、名前を定義する(例:
地域一覧= {東京, 大阪, 名古屋}) - 小分類リストを大分類ごとに作成し、大分類と同じ名前で定義する(例:「東京」= {渋谷, 新宿, 池袋})
- 1つ目のプルダウン(A2セル)に
=地域一覧を設定 - 2つ目のプルダウン(B2セル)の「元の値」に
=INDIRECT(A2)と入力 - 確認ダイアログ「元の値はエラーと判断されます」が出たら「はい」をクリック(A2が空白のため一時的に表示される正常な動作)
重要:名前の定義にスペースや記号(ハイフン等)は使えません。大分類の値に「北海道」「東京都」など使いたい場合は、名前を「北海道」「東京都」にし、リストの値もそれに合わせてください。
3段階以上の連動(例:事業部→部署→チーム)も同じ仕組みで実現できます。ただし名前定義の数が増えるため、管理シートに一覧表を作って定期的にメンテナンスすることを強くおすすめします。
VLOOKUP連動:選択に応じて隣のセルに自動入力
プルダウンで選択した値に応じて、関連データ(価格、在庫、担当者名など)を自動入力する方法です。VLOOKUP関数とプルダウンを組み合わせれば、手入力なしでマスターデータから必要な情報を引き出せます。

VLOOKUPで自動入力する数式
プルダウンが設定されたセル(例:B2)の隣のセル(C2)に、以下のVLOOKUP関数を入力します。
=VLOOKUP(B2,$F$2:$H$10,2,FALSE)
' B2 : プルダウンのセル(検索値)
' $F$2:$H$10 : マスターデータの範囲(絶対参照)
' 2 : 取得したい列番号(左から2列目=単価)
' FALSE : 完全一致検索
列番号を変えれば、同じプルダウンから複数の情報を別々のセルに自動入力できます。例えば3列目に「在庫数」、4列目に「担当者名」を取得するなど。
VLOOKUP関数の詳しい使い方は「Excel VLOOKUP関数の使い方完全ガイド」で解説しています。
IFERROR処理で空欄時のエラーを防ぐ
プルダウンが未選択(空欄)の状態では、VLOOKUPが #N/A エラーを返します。IFERROR関数で囲んでエラー時に空文字を返すようにしましょう。
=IFERROR(VLOOKUP(B2,$F$2:$H$10,2,FALSE),"")
' エラー時は空文字 "" を返す
' → プルダウン未選択でもエラー表示されない
IF関数と組み合わせて、プルダウンが空欄かどうかを事前チェックする方法もあります。
=IF(B2="","",VLOOKUP(B2,$F$2:$H$10,2,FALSE))
' B2が空欄なら空文字、値があればVLOOKUPを実行
IF関数の詳しい使い方は「Excel IF関数の使い方」をご覧ください。
Q: VLOOKUP以外にプルダウン連動で使える関数はありますか?
A: Excel 365 / 2021以降ではXLOOKUP関数が使えます。XLOOKUPは左方向検索やエラー時の代替値を1つの関数で扱えるため、VLOOKUPより柔軟です。XLOOKUP関数の使い方はこちら。
プルダウンが動かない時のトラブルシューティング
プルダウンを設定したのに期待通りに動作しない場合、以下の原因をチェックしてください。
プルダウンの▼が表示されない
- 原因1:「ドロップダウンリストから選択する」のチェックが外れている → データの入力規則を再度開いてチェックを確認
- 原因2:表示オプションが無効 → 「ファイル」→「オプション」→「詳細設定」→「セルでドロップダウンリストを表示する」にチェック
- 原因3:シートが保護されている → 「校閲」タブ →「シート保護の解除」
リストに値が表示されない
- 原因1:参照範囲がずれている → 参照先のセルにデータが入っているか確認。テーブル参照に変更すると安全
- 原因2:名前定義が削除されている → 「数式」タブ →「名前の管理」で確認
- 原因3:INDIRECT関数の名前にスペースが含まれている → 名前定義では半角英数字・漢字・アンダースコアのみ使用可能
プルダウンを解除・削除する方法
プルダウンが不要になった場合の解除方法は2つあります。
- 方法1:セルを選択 →「データの入力規則」→「すべてクリア」→「OK」
- 方法2:セルを選択 →「ホーム」→「クリア」→「すべてクリア」(セルの値もクリアされます)
ショートカット:プルダウンの一覧を開くには、セルを選択した状態で Alt + ↓ キーを押します。
Ctrl + G(ジャンプ)→「セルの選択」→「データの入力規則」にチェック → OKで、シート上のプルダウンが設定されたセルが全てハイライトされます。
よくある質問(FAQ)
A: 標準機能では1つのセルに1つの値しか選択できません。複数選択が必要な場合は、VBAで Worksheet_Change イベントを使い、選択した値をカンマ区切りでセルに追記する方法があります。ただし運用が複雑になるため、セルを分ける設計を先に検討してください。
A: セル範囲参照の場合は元のリストに項目を追加し、参照範囲を広げます。テーブル参照にしておけば範囲が自動拡張されるため、項目を追加するだけでOKです。直接入力の場合は「データの入力規則」を再度開いてカンマ区切りに追記してください。
A: プルダウンの選択肢自体に色は付けられませんが、条件付き書式と組み合わせることで、選択した値に応じてセルの背景色を自動変更できます。「ホーム」→「条件付き書式」→「新しいルール」→「指定の値を含むセルだけを書式設定」で設定してください。
A: セルを選択した状態で Alt + ↓ キーを押すとプルダウンが開きます。また、同じ列に既に入力されている値のリストは Alt + ↓(同列入力候補)で表示されます。データの入力規則のダイアログは Alt → D → L で開けます。
A: まず名前の定義にスペースや記号(ハイフン、括弧など)が含まれていないか確認してください。名前には半角英数字・漢字・アンダースコアのみ使用可能です。また、1つ目のプルダウンの値と名前定義が完全一致している必要があります(大文字・小文字の違いにも注意)。
まとめ:5パターンの使い分け早見表
Excelのプルダウン(ドロップダウンリスト)を設定する5つのパターンを紹介しました。以下の早見表を参考に、用途に合った方法を選んでください。
| # | 方法 | 適した場面 | 選択肢の自動追従 |
|---|---|---|---|
| 1 | 直接入力 | 選択肢が少なく固定 | 手動で再設定 |
| 2 | セル範囲参照 | 同じシート内にリスト | 範囲の手動拡張 |
| 3 | 別シート+名前定義 | マスターデータが別シート | 範囲の手動拡張 |
| 4 | テーブル参照 / UNIQUE | リストが頻繁に変わる | 自動追従 |
| 5 | INDIRECT連動 | 2段階以上の絞り込み | 名前定義を追加 |
入力フォームの効率化には、プルダウンとVLOOKUP連動を組み合わせるのが最も効果的です。手入力の手間とミスを同時に減らせます。
Excelの便利な関数をもっと知りたい方は「Excelおすすめ関数6選」も参考にしてください。
VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。
LINEでExcelを気軽に学べる
