Excelプルダウン複数選択・コピーの方法|削除・色分け・連動もまとめて解説

Excelプルダウンのコピー・複数選択・削除・色分けの方法まとめ|連動や空白対応も解説!

本記事には広告(PR)が含まれます。
くわしくは プライバシーポリシー をご確認ください。


Excelでよく目にする「プルダウンリスト」は、入力ミスを防ぎ、作業の効率化にもつながる便利な機能です。
ただ、実際に使ってみると「コピーできない」「複数選びたい」「色が変わらない」など、思い通りに操作できず困った経験はありませんか?

本記事では、Excel初心者の方にもわかりやすく、プルダウンリストの基本的な使い方から応用テクニック、トラブル時の対処法までをまとめて解説します。

業務で役立つ実践的な内容を中心に、すぐに使える設定方法を多数ご紹介しますので、ぜひご活用ください。



目次

プルダウンリストの基本

プルダウンとは?ドロップダウンとの違いは?

Excelにおける「プルダウンリスト」とは、セルをクリックしたときに表示される選択肢の中から、あらかじめ用意された値を選ぶことができる機能です。
正式には「入力規則のリスト」と呼ばれる機能ですが、一般的には「プルダウン」や「ドロップダウン」と呼ばれることが多く、両者に機能的な違いはありません。

ただし、日常会話や業務では「プルダウン」の方がよく使われる傾向があるため、本記事でも「プルダウン」という表現で統一しています。


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

プルダウンリストは、Excelの「データの入力規則」機能を使って簡単に設定できます。以下の手順で設定してみましょう。

  1. プルダウンを設定したいセルを選択

  2. 「データ」タブ →「データの入力規則」をクリックExcelの[データ]タブから[データの入力規則]を開く画面

  3. 「入力値の種類」で「リスト」を選択データの入力規則ダイアログで入力値の種類を「リスト」に設定する画面

  4. 「元の値」に選択肢(カンマ区切り or セル範囲)を入力

    1. テキストを直接指定(カンマ区切り)した場合
      データの入力規則で元の値に「高,中,低」を入力してプルダウンを作成する画面
      「元の値」に選択肢をカンマ区切りで入力すると、プルダウンを作成できます。

    2. セル範囲を指定した場合
      データの入力規則でセル範囲を指定してプルダウンリストを作成する画面
      セル範囲を指定すると、一覧を編集しながら管理できます。

  5. OKを押して完了!
    優先度のプルダウンリストが設定され、セルから選択できるようになった画面
    セルをクリックすると、設定した選択肢をプルダウンから選べます。

たとえば、「高」「中」「低」というリストを作成したい場合は、「元の値」欄に 高,中,低 と入力するだけで、3つの選択肢がプルダウンとして表示されます。


別のセルやシートへコピーする方法と注意点

作成したプルダウンリストは、コピー&ペーストで他のセルにも複製できます。以下の手順でコピー可能です。

コピー方法:

  1. プルダウンが設定されたセルを選択

  2. Ctrl + C(または右クリック→コピー)

  3. コピー先のセルを選択し、Ctrl + Vで貼り付け
    プルダウンリストをコピーして別のセルへ貼り付けた画面
    コピー&貼り付けで、同じプルダウンを別のセルにも設定できます。

    ※コピーしたセルに値が入っていた場合はその値がそのまま反映されます。

プルダウンをコピーしても設定が引き継がれない場合は、「入力規則だけを貼り付ける方法」を試してみてください。

入力規則だけを貼り付ける方法はある?

プルダウンの設定だけをコピーして、セルの値や書式は貼り付けたくない場合もありますよね。

その場合は、形式を選択して貼り付けを使うと便利です。

  1. 入力規則が設定されているセルをコピーする
  2. 貼り付けたいセルを選択し、右クリックする
  3. **[形式を選択して貼り付け]**を選択する
    Excelで右クリックメニューから「形式を選択して貼り付け」を選択する画面
    右クリックメニューから「形式を選択して貼り付け」を選択します。
  4. **[入力規則]**を選択し、OKをクリックする
    形式を選択して貼り付けダイアログで「入力規則」を選択する画面
    「入力規則」を選択すると、プルダウンの設定だけを貼り付けできます。
入力規則だけを貼り付けた結果、プルダウンリストが表示されたセル
入力規則だけがコピーされ、プルダウンリストを利用できるようになります。

これで、セルの値や書式を変えずに、プルダウンの入力規則だけをコピーできます。

別シートにコピーする場合の注意点

元の値に「高,中,低」を直接入力して作成したプルダウンリスト
選択肢を直接入力した場合は、その内容がコピー先にも引き継がれます。

「元の値」に別シートのセル範囲を参照している場合は、コピー先で正しく動作しないことがあります。

例えば、参照先のシート名が変更されていたり、セル範囲がずれていたりすると、プルダウンリストが表示されなかったり、空白になったりする場合があります。

別シートへコピーした後は、入力規則の「元の値」を確認し、参照先が正しいかチェックしておきましょう。

セル範囲を参照したプルダウンリストが正しく表示されない例
セル範囲を参照している場合は、コピー後も参照先が正しいか確認しましょう。

セル範囲を指定した場合は以下の2点を確認しましょう。

  • 参照先のシート名が正しいか
  • 参照しているセル範囲が正しいか

もしシート名が記載されていない、シート名が異なる場合は正しいセル範囲に指定する必要があります。

指定したセル範囲のシート名は記載されているか確認


テーブル化されたリストのコピー時のポイント

元データをテーブル化して管理すると、プルダウンリストの内容が自動的に更新され、複数のセルに展開してもメンテナンスが楽になります。

入力規則でテーブルの列を直接指定する場合、=テーブル1[商品コード] のような構造化参照は一部のExcelバージョンではエラーになります
その場合は INDIRECT("テーブル1[商品コード]") のように INDIRECT関数を使って指定することで、最新のExcelではプルダウンに使用できることがあります。

INDIRECT関数については以下の記事で詳しく解説しています。
エクセルのINDIRECT関数とは?参照先を文字列で指定する使い方と注意点まとめ
テーブルをINDIRECT関数で入力規則の元の値に指定している画面
入力規則ではINDIRECT関数を使ってテーブル列を指定できます。

テーブルに商品コード005を追加するとプルダウンにも自動反映される例

テーブル範囲を指定すると、新しいデータを追加したときにプルダウンリストの内容が自動的に更新されます。
※画像の例ですと新たに商品コード”005″を追記すると、プルダウンリストにも”005″を選択できるように更新されます。

ただし、Excelのバージョンや環境によっては動作しない場合もあるため、互換性を重視するなら以下のように名前付き範囲を定義して使う方法がおすすめです:

  1. 「数式」タブ →「名前の管理」→「新規作成」で、商品コードリスト という名前を設定
    「数式」タブ →「名前の管理」選択 商品コードリストという名前でテーブル列を参照範囲に設定している画面

  2. 参照範囲に =テーブル1[商品コード] を入力

  3. 入力規則の「元の値」に =商品コードリスト と入力すればOK
    商品コードリストという名前でテーブル列を参照範囲に設定している画面

  4. データの入力規則にて名前付き範囲を指定します。入力規則の元の値に名前付き範囲を指定している画面

この方法なら、テーブルにデータを追加した際もリストが自動更新されるため、安心して使えます。


プルダウンリストの応用テクニック

複数選択を可能にする方法(VBAを使用)

Excelの標準機能では、プルダウンから選択できる項目は1つだけです。

同じセルに複数の項目を入力したい場合は、VBA(マクロ)を使って、選択した値をカンマ区切りで追加する方法があります。

たとえば、商品コードのプルダウンで「001」と「003」を順番に選択すると、セルには次のように表示されます。

001, 003

このマクロは、ボタンを押して実行するものではありません。対象セルの内容が変更されると、Worksheet_Changeイベントによって自動的に動作します。

Worksheet_Changeは、セルの値が変更されたときに自動で動くイベントです。イベントの種類や、マクロが繰り返し実行されるときの対処法については、以下の記事で詳しく紹介しています。

【Excel VBA】イベントでエラーが出るときの原因と対処法まとめ|SelectionChangeとChangeの違いも解説

VBAコードを設定する手順

  1. AltF11キーを押してVBEを開く
  2. 左側の一覧から、プルダウンを設定しているシートをダブルクリックする
    VBAエディターでプルダウンを設定したシートをダブルクリックしてコード画面を開く手順
    プルダウンを設定したシートをダブルクリックし、コード画面を開きます。
  3. 表示されたコード画面に、以下のコードを貼り付ける
    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
  4. 必要に応じて、処理対象となる列番号を変更する
  5. ファイルを「Excelマクロ有効ブック(.xlsm)」形式で保存する
ポイント:処理する列を変更する

コード内の次の部分で、処理対象となる列を指定しています。

If cell.Column = 1 And cell.Validation.Type = 3 Then

cell.Column = 1はA列を表します。プルダウンがB列にある場合は2、C列にある場合は3へ変更してください。

また、cell.Validation.Type = 3は、入力規則の種類が「リスト」に設定されているセルだけを処理するための条件です。

動作を確認する

コードを設定した後は、対象列のプルダウンから項目を順番に選択します。

選択した項目が、同じセルにカンマ区切りで追加されれば設定完了です。

プルダウンから項目を選ぶたびに、選択した値がカンマ区切りで追加されます。
プルダウンから選択した項目を、同じセルへ追加して入力できます。

利用するときの注意点

  • マクロを有効にしないと複数選択は動作しません
  • ファイルは.xlsxではなく、.xlsm形式で保存します
  • Deleteキーを押すと、セルの内容をまとめて削除できます
  • コード内の列番号が、プルダウンを設定した列と一致しているか確認してください
  • マクロを使用できない会社や共有環境では利用できない場合があります

マクロを初めて使う場合は、事前に基本設定や保存形式も確認しておきましょう。

Excelでマクロを作るなら最初にやるべきVBAの基本設定とは?


選択肢によってセルの色を変える(条件付き書式)

たとえば、「高・中・低」で色を分けたいという場合は、条件付き書式を使うと便利です。

操作手順:

  1. プルダウンを設定したセルを選択

  2. 「ホーム」タブ →「条件付き書式」→「新しいルール」
    ホームタブから条件付き書式の新しいルールを開く画面

  3. 「指定の値を含むセルだけを書式設定」にチェック

  4. 「セルの値が ‘高’ ならオレンジ色」のように条件と色を設定
    セルの値が「高」の場合に書式を設定している画面

この操作を繰り返せば、「高=オレンジ」「中=黄色」「低=緑」など、視覚的にわかりやすく整理できます。

プルダウンで選択した高・中・低に応じてセルの色が変わる例
条件付き書式を使うと、選択した値に応じて色分けできます。

空白を選べるようにするには?

プルダウンのリストに「空白」も含めたいときは、2通りの方法があります。

方法①:””(空文字)をリストに含める

元の値に " ,高,中,低" のように最初にカンマ(空文字)を入れることで空白が選択できます。

方法②:セル範囲に空白セルを含める

「元の値」に指定する範囲に空白セルを含めておくことで、空白も選択肢に表示されます。


プルダウンを連動させる方法(INDIRECT関数など)

「都道府県を選ぶと市区町村が変わる」など、選択肢を他のセルに連動させたいときには、INDIRECT関数名前定義を活用します。

INDIRECT関数についてはこちらをご参考ください。

準備の流れ:

  1. 各都道府県ごとに市区町村のリストを作成

  2. 各リストに「東京」「大阪」などの名前を定義(名前の定義機能を使用)
    ※名前の定義には画面左上の名前ボックスか、[数式]→[名前の管理]メニューで設定することができます。

    名前ボックスで範囲名を東京に変更している画面
    名前ボックスで範囲名を設定します。
    セル範囲に東京という名前が設定された状態
    セル範囲に都道府県名を付けることで連動設定に利用できます。

     

  3. 2つ目のプルダウンの「元の値」に =INDIRECT(A2) などと入力(A2が都道府県)
    ※図の例では”=INDIRECT(A2)”としています。
    A2の値は”東京”なので②で設定した名前付き範囲の”東京”を参照する指示になります。

    入力規則の元の値にINDIRECT(A2)を設定している画面
    1つ目の選択内容を参照して候補を切り替えます。

     

  4. セルを下の段にオートフィルすると、入力規則は下図のように”=INDIRECT(A3)”設定されます。

    A3の値は”大阪”なので範囲名を”大阪”とした名前付きの範囲があれば、名前付き範囲”大阪”を参照する指示になります。

    入力規則がINDIRECT(A3)へ自動変更された画面
    オートフィルすると参照セルも自動で切り替わります。

    こうすることで、1つ目の選択に応じて2つ目のプルダウンが変化します。
    複雑に感じるかもしれませんが、業務で非常によく使われるテクニックです。

    実際の申請書や発注書での活用例については、以下の記事でも紹介しています。

    Excel FILTER関数×ドロップダウン連動の使い方|VBAで入力規則を自動切り替え!


    不要になったプルダウンを削除するには?

    セル単位・複数セルの入力規則の解除方法

    プルダウンが不要になった場合は、「入力規則の削除」で簡単に解除できます。

    操作手順(単一セル):

    1. プルダウンが設定されているセルを選択

    2. 「データ」タブ →「データの入力規則」をクリック

    3. ダイアログが表示されたら「すべてクリア」をクリック

    4. OKを押すと、プルダウンが解除されます
      入力規則メニューを選択入力規則設定画面で「すべてクリア」を選択

    複数セルの場合:

    • 解除したいセル範囲をドラッグで選択し、同様に「入力規則→すべてクリア」で一括解除できます。


    削除してもリストが残る?よくあるトラブルと対処法

    入力規則を削除したのに、「なぜかまだリストが出てくる」「項目が自動入力される」という現象が発生することもあります。これは、以下のような原因が考えられます。

    主な原因と対処法:

    原因 対処法
    データの入力規則が別の場所にも残っている 他のセルにも設定されていないか確認し、一括解除する
    リストの元データが数式や名前定義に残っている 名前の管理から不要な名前を削除
    オートコンプリート機能により過去の入力が表示されている オプションで「オートコンプリート」を無効にする

    上記を確認しても改善しない場合は、一度入力規則を削除して設定し直すことで解決するケースもあります。


    補足:オートコンプリートを無効にするには?

    1. 「ファイル」→「オプション」→「詳細設定」

    2. 「オートコンプリートを使用して…」のチェックを外す
      オートコンプリートを無効にする

    これで、以前の入力履歴による候補表示を無効にできます。


    よくある質問(FAQ)


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

    Excelではどちらも同じ意味で使われます。

    正式には「データの入力規則(リスト)」ですが、一般的にはプルダウン・ドロップダウンの両方が使われています。


    プルダウンをコピーすると動かなくなります。

    入力規則の参照範囲やシート名が変わっていないか確認してください。

    別シートを参照している場合は、名前付き範囲やINDIRECT関数を利用すると安定します。


    プルダウンで複数選択できますか?

    標準機能では1つのみです。

    複数選択するにはVBA(マクロ)を利用します。


    空白を選択できますか?

    できます。

    空白セルを範囲に含めるか、先頭を空欄に設定すると選択できます。


    プルダウンを削除すると元データも消えますか?

    いいえ。

    削除されるのは入力規則だけです。

    元データは削除されません。


    Excelをもっと効率よく使いたい方へ

    プルダウンリストは、Excelの入力規則機能の一つです。

    入力規則や関数、ショートカットなどを少しずつ覚えていくと、毎日の作業効率は大きく変わります。

    初心者向けの勉強方法については、こちらの記事で詳しく紹介しています。

    エクセルが難しい人必見!独学でできる勉強法と続けるコツを紹介


    まとめ||プルダウンを活用してExcel入力を効率化しよう

    プルダウンリストを使うと、入力ミスを防ぎながら、Excelでの作業を効率化できます。

    基本の作成やコピーだけでなく、複数選択、色分け、空白の設定、連動、削除方法まで理解しておくと、さまざまな業務シーンで使いやすくなります。

    まずはよく使う表や入力フォームに取り入れて、作業しやすいExcelファイルを作ってみましょう。

    【関連記事】

    ※外部リンク※


    ※参考書籍 (PR)

    ※本ボックスにはアフィリエイトリンク(PR)が含まれます。
    くわしくは プライバシーポリシー へ。

    Excelプルダウンのコピー・複数選択・削除・色分けの方法まとめ|連動や空白対応も解説!
    最新情報をチェックしよう!