Excelでよく目にする「プルダウンリスト」は、入力ミスを防ぎ、作業の効率化にもつながる便利な機能です。
ただ、実際に使ってみると「コピーできない」「複数選びたい」「色が変わらない」など、思い通りに操作できず困った経験はありませんか?
本記事では、Excel初心者の方にもわかりやすく、プルダウンリストの基本的な使い方から応用テクニック、トラブル時の対処法までをまとめて解説します。
業務で役立つ実践的な内容を中心に、すぐに使える設定方法を多数ご紹介しますので、ぜひご活用ください。
プルダウンリストの基本とコピーの方法
プルダウンとは?ドロップダウンとの違いは?
Excelにおける「プルダウンリスト」とは、セルをクリックしたときに表示される選択肢の中から、あらかじめ用意された値を選ぶことができる機能です。
正式には「入力規則のリスト」と呼ばれる機能ですが、一般的には「プルダウン」や「ドロップダウン」と呼ばれることが多く、両者に機能的な違いはありません。
ただし、日常会話や業務では「プルダウン」の方がよく使われる傾向があるため、本記事でも「プルダウン」という表現で統一しています。

入力規則でプルダウンを設定する手順
プルダウンリストは、Excelの「データの入力規則」機能を使って簡単に設定できます。以下の手順で設定してみましょう。
-
プルダウンを設定したいセルを選択
-
「データ」タブ →「データの入力規則」をクリック
-
「入力値の種類」で「リスト」を選択
-
「元の値」に選択肢(カンマ区切り or セル範囲)を入力
①テキストを直接指定(カンマ区切り)した場合
②セル範囲を指定した場合
-
OKを押して完了!
たとえば、「高」「中」「低」というリストを作成したい場合は、「元の値」欄に 高,中,低
と入力するだけで、3つの選択肢がプルダウンとして表示されます。
別のセルやシートへコピーする方法と注意点
作成したプルダウンリストは、コピー&ペーストで他のセルにも複製できます。以下の手順でコピー可能です。
コピー方法:
-
プルダウンが設定されたセルを選択
-
Ctrl + C(または右クリック→コピー)
-
コピー先のセルを選択し、Ctrl + Vで貼り付け
※コピーしたセルに値が入っていた場合はその値がそのまま反映されます。
ただし、「元の値」に別シートのセル範囲を参照している場合は、コピー先で正しく動作しないことがあるので注意が必要です。
セル範囲をしている場合は、注意が必要です。
セル範囲を指定した場合は以下の2点を確認しましょう。
- 指定したセル範囲のシート名は記載されているか
- 記載されたシート名はあっているか
もしシート名が記載されていない、シート名が異なる場合は正しいセル範囲に指定する必要があります。

テーブル化されたリストのコピー時のポイント
テーブルに名前を付けて範囲を管理すれば、プルダウンリストの内容が自動的に更新され、複数のセルに展開してもメンテナンスが楽になります。
入力規則でテーブルの列を直接指定する場合、=テーブル1[商品コード]
のような構造化参照は一部のExcelバージョンではエラーになります。
その場合は INDIRECT("テーブル1[商品コード]")
のように INDIRECT関数を使って指定することで、最新のExcelではプルダウンに使用できることがあります。
テーブル範囲を指定すると、新しいデータを追加したときにプルダウンリストの内容が自動的に更新されます。
※画像の例ですと新たに商品コード”005″を追記すると、プルダウンリストにも”005″を選択できるように更新されます。
ただし、Excelのバージョンや環境によっては動作しない場合もあるため、互換性を重視するなら以下のように名前付き範囲を定義して使う方法がおすすめです:
-
「数式」タブ →「名前の管理」→「新規作成」で、
商品コードリスト
という名前を設定
-
参照範囲に
=テーブル1[商品コード]
を入力 -
入力規則の「元の値」に
=商品コードリスト
と入力すればOK
-
データの入力規則にて名前付き範囲を指定します。
この方法なら、テーブルにデータを追加した際もリストが自動更新されるため、安心して使えます。
プルダウンリストの応用テクニック
複数選択を可能にする方法(標準機能/VBA併用)
Excelの標準機能では、プルダウンで選べるのは1つのみです。
しかし、実際の業務では「複数の選択肢を同じセルに入力したい」というケースも多いですよね。
その場合は VBA(マクロ)を使って対応するのが一般的です。たとえば、以下のようなコードを使うことで、選んだ項目をカンマ区切りでセルに追加できます。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim oldValue As String
Dim newValue As String
On Error GoTo SafeExit
' 対象が複数セルでもループ処理
For Each cell In Target
' 条件:A列のセルだけ処理(列番号は調整可)
If cell.Column = 1 And cell.Validation.Type = 3 Then
' Deleteや空白はそのまま通す
If cell.Value = "" Then
' 何もしない(リセットとして扱う)
Else
Application.EnableEvents = False
newValue = cell.Value
Application.Undo
oldValue = cell.Value
' 重複チェックして、未選択なら追加
If oldValue = "" Then
cell.Value = newValue
ElseIf InStr(1, oldValue, newValue) = 0 Then
cell.Value = oldValue & ", " & newValue
Else
cell.Value = oldValue
End If
Application.EnableEvents = True
End If
End If
Next cell
SafeExit:
Application.EnableEvents = True
End Sub
※マクロの設定方法やセキュリティについては別記事へのリンクで補足しておくと親切です。
選択肢によってセルの色を変える(条件付き書式)
たとえば、「高・中・低」で色を分けたいという場合は、条件付き書式を使うと便利です。
操作手順:
-
プルダウンを設定したセルを選択
-
「ホーム」タブ →「条件付き書式」→「新しいルール」
-
「指定の値を含むセルだけを書式設定」にチェック
-
「セルの値が ‘高’ ならオレンジ色」のように条件と色を設定
この操作を繰り返せば、「高=オレンジ」「中=黄色」「低=緑」など、視覚的にわかりやすく整理できます。
空白を選べるようにするには?
プルダウンのリストに「空白」も含めたいときは、2通りの方法があります。
方法①:””(空文字)をリストに含める
元の値に " ,高,中,低"
のように最初にカンマ(空文字)を入れることで空白が選択できます。
方法②:セル範囲に空白セルを含める
「元の値」に指定する範囲に空白セルを含めておくことで、空白も選択肢に表示されます。
プルダウンを連動させる方法(INDIRECT関数など)
「都道府県を選ぶと市区町村が変わる」など、選択肢を他のセルに連動させたいときには、INDIRECT関数
と名前定義
を活用します。
準備の流れ:
-
各都道府県ごとに市区町村のリストを作成
-
各リストに「東京」「大阪」などの名前を定義(名前の定義機能を使用)
※名前の定義には画面左上の名前ボックスか、[数式]→[名前の管理]メニューで設定することができます。
-
2つ目のプルダウンの「元の値」に
=INDIRECT(A2)
などと入力(A2が都道府県)
※図の例では”=INDIRECT(A2)”としています。
A2の値は”東京”なので②で設定した名前付き範囲の”東京”を参照する指示になります。
セルを下の段にオートフィルすると、入力規則は下図のように”=INDIRECT(A3)”設定されます。
A3の値は”大阪”なので範囲名を”大阪”とした名前付きの範囲があれば、名前付き範囲”大阪”を参照する指示になります。
こうすることで、1つ目の選択に応じて2つ目のプルダウンが変化します。
複雑に感じるかもしれませんが、業務で非常によく使われるテクニックです
不要になったプルダウンを削除するには?
セル単位・複数セルの入力規則の解除方法
プルダウンが不要になった場合は、「入力規則の削除」で簡単に解除できます。
操作手順(単一セル):
-
プルダウンが設定されているセルを選択
-
「データ」タブ →「データの入力規則」をクリック
-
ダイアログが表示されたら「すべてクリア」をクリック
-
OKを押すと、プルダウンが解除されます
複数セルの場合:
-
解除したいセル範囲をドラッグで選択し、同様に「入力規則→すべてクリア」で一括解除できます。
削除してもリストが残る?よくあるトラブルと対処法
入力規則を削除したのに、「なぜかまだリストが出てくる」「項目が自動入力される」という現象が発生することもあります。これは、以下のような原因が考えられます。
主な原因と対処法:
原因 | 対処法 |
---|---|
データの入力規則が別の場所にも残っている | 他のセルにも設定されていないか確認し、一括解除する |
リストの元データが数式や名前定義に残っている | 名前の管理から不要な名前を削除 |
オートコンプリート機能により過去の入力が表示されている | オプションで「オートコンプリート」を無効にする |
補足:オートコンプリートを無効にするには?
-
「ファイル」→「オプション」→「詳細設定」
-
「オートコンプリートを使用して…」のチェックを外す
これで、以前の入力履歴による候補表示を無効にできます。
まとめ|プルダウンを正しく削除&整理して、Excelを快適に
プルダウンの入力規則は便利ですが、不要になった際にはきちんと削除しておくことで、データの整合性が保たれます。
複数のシートやセルに設定している場合は、意図しない場所に残っていないか、しっかり確認しましょう。