エクセルでプルダウンリストを作成した後、選択肢の内容を追加・変更したいときや、選んだ項目によって文字色を変えたいという場面はよくあるでしょう。
プルダウンの内容変更や文字色の設定は、入力規則と条件付き書式を組み合わせることで実現できます。
本記事では、エクセルのプルダウンの内容・文字色を変更する方法を、入力規則の編集手順から条件付き書式の設定まで幅広く解説していきます。
「プルダウンの選択肢を追加したい」「選んだ項目に応じてセルの色や文字色を変えたい」という方はぜひ参考にしてみてください。
エクセルのプルダウンの内容を変更する基本操作まとめ
それではまず、エクセルのプルダウンリストの内容を変更する基本的な方法について解説していきます。
結論として、プルダウンが設定されているセルを選択して「データ」タブ→「データの入力規則」を開き、ソースの内容を編集するのが基本の手順です。
リストの選択肢を直接入力している場合と、セル範囲を参照している場合とで操作が少し異なります。
それぞれの設定方法を把握しておくとスムーズに編集できるでしょう。
【プルダウン内容変更の主な方法】
① セルを選択→「データ」タブ→「データの入力規則」→「ソース」欄を編集
② セル範囲参照のプルダウンは参照先のセルを直接編集するだけで自動更新される
③ テーブル機能を使うとリストに項目を追加したとき自動でプルダウンに反映される
④ 名前付き範囲を使うと複数シートのプルダウンを効率よく管理できる
直接入力で設定したプルダウンの内容を変更する手順
プルダウンが設定されているセルをクリックして選択します。
「データ」タブ→「データの入力規則」をクリックして「データの入力規則」ダイアログを開きます。
「設定」タブの「ソース」欄にカンマ区切りで入力されている選択肢を編集し、OKをクリックすると変更が反映されます。
ドロップダウンリストから選択する
選択肢はカンマ(,)区切りで入力し、スペースは不要です。
選択肢の順番を変えたい場合は「ソース」欄内のテキストを並べ替えてOKをクリックするだけで反映されます。
同じプルダウン設定を複数のセルに適用している場合は、変更したいセルをすべて選択してから「データの入力規則」を開くと一括で変更できるでしょう。
セル範囲を参照しているプルダウンの内容を変更する方法
「ソース」欄にセル範囲(例:=$A$1:$A$5)が指定されている場合は、参照先のセルの内容を直接変更するだけでプルダウンの選択肢が自動的に更新されます。
新しい選択肢を追加したい場合は、参照範囲の末尾に項目を追加してから「データの入力規則」で参照範囲を広げます。
テーブル機能を使ってリストを管理している場合は、テーブルに行を追加するだけで参照範囲が自動拡張されるため非常に便利でしょう。
名前付き範囲を使ってプルダウンを管理する方法
複数のシートやセルに同じプルダウンを設定している場合は、名前付き範囲を活用すると管理が楽になります。
「数式」タブ→「名前の定義」でリストの範囲に名前を付けておき、「データの入力規則」のソース欄に「=名前」と入力します。
名前付き範囲の内容を変更するだけで、その名前を参照しているすべてのプルダウンに変更が反映されます。
エクセルのプルダウンの文字色・セル色を変更する方法
続いては、プルダウンで選択した項目に応じて文字色やセルの背景色を自動で変更する方法を確認していきます。
この機能は「条件付き書式」を使って実現します。
条件付き書式でプルダウンの選択値に応じて色を変える手順
色を変えたいセル範囲を選択し、「ホーム」タブ→「条件付き書式」→「新しいルール」をクリックします。
「指定の値を含むセルだけを書式設定」を選択し、「次の値に等しい」→「対応中」などプルダウンの選択肢を入力します。
「書式」ボタンから塗りつぶしの色・文字色を設定してOKをクリックします。
【ステータスごとの色設定の例】
対応中 → 背景:薄い青(#E3F2FD)/ 文字色:青(#1565C0)
完了 → 背景:薄い緑(#E8F5E9)/ 文字色:緑(#2E7D32)
保留 → 背景:薄い黄(#FFF8E1)/ 文字色:オレンジ(#E65100)
キャンセル → 背景:薄い赤(#FCE4EC)/ 文字色:赤(#C62828)
選択肢の数だけルールを追加すると、それぞれの選択値に応じた色が自動で適用されます。
条件付き書式のルールは上から順に評価されるため、複数のルールが重なる場合は優先したいルールを上に配置しましょう。
条件付き書式を複数セルに一括適用する方法
条件付き書式の「適用先」欄の範囲を広げることで、複数のセルに同じルールを一括で適用できます。
「ホーム」→「条件付き書式」→「ルールの管理」から対象のルールを選択し、「適用先」欄の範囲を編集します。
例えば「=$B$2:$B$100」のように指定すると、B列の2行目から100行目まで同じ条件付き書式が適用されます。
エクセルのプルダウン設定に関するよくある疑問と対処法
続いては、プルダウンの設定に関してよく寄せられる疑問と対処法を確認していきます。
| 症状・疑問 | 原因 | 対処法 |
|---|---|---|
| プルダウンが表示されない | 「ドロップダウンリストから選択する」のチェックが外れている | 「データの入力規則」でチェックを入れ直す |
| 選択肢以外の値を入力できてしまう | エラーメッセージの設定がされていない | 「データの入力規則」→「エラーメッセージ」タブで「停止」を設定 |
| プルダウンの内容が変更できない | シートが保護されている | 「校閲」タブからシートの保護を解除する |
| リストに空白の選択肢が表示される | 参照範囲に空白セルが含まれている | 参照範囲をデータがある行までに絞り込む |
プルダウンのリストを別シートから参照する方法
プルダウンのリストを別シートのセル範囲から参照したい場合は、直接シート名を「ソース」欄に入力しても動作しないことがあります。
この場合は名前付き範囲を使う方法が確実です。
【別シートのリストをプルダウンに使う手順】
① 別シート(例:リストシート)のA1:A5にリスト項目を入力する
② 「数式」タブ→「名前の定義」→名前を「ステータスリスト」などとして範囲を設定する
③ プルダウンを設定したいセルで「データの入力規則」を開く
④「ソース」欄に「=ステータスリスト」と入力してOKをクリックする
名前付き範囲を使うと別シートのデータを安全に参照でき、リストの管理もしやすくなります。
プルダウンで選択した値を他のセルに連動させる方法
プルダウンで選んだ値に応じて隣のセルに別の値を自動入力したい場合は、IF関数やVLOOKUP関数と組み合わせると実現できます。
例えばステータスが「完了」の場合に担当者欄に「確認済」と自動入力するような仕組みが作れます。
プルダウンと関数・条件付き書式を組み合わせることで、入力の手間を減らしながらデータの視認性を高める表が作れるでしょう。
=$B$2:$B$100
▲
=$B$2:$B$100
▼
=$B$2:$B$100
▼
=$B$2:$B$100
▼
エクセルのプルダウンに関する応用操作
続いては、プルダウンに関する応用的な操作について確認していきます。
基本操作に加えて応用テクニックも活用すると、より便利なプルダウンの仕組みが作れるでしょう。
連動するプルダウン(2段階プルダウン)を作る方法
1つ目のプルダウンで選んだ値に応じて、2つ目のプルダウンの選択肢が変わる「連動プルダウン」はINDIRECT関数を使って実現できます。
例えば「都道府県」を選ぶと「市区町村」の選択肢が絞り込まれる仕組みは、各都道府県の市区町村リストに名前を付けてINDIRECT関数で参照する方法で作れます。
連動プルダウンを活用すると入力ミスを大幅に減らせるため、データ管理の精度が上がるでしょう。
VBAでプルダウンの内容を動的に変更する方法
プルダウンの内容をVBAで動的に変更したい場合は、ValidationオブジェクトのFormulaプロパティを使います。
【VBAでプルダウンの内容を変更するコード例】
With Range(“B2”).Validation
.Delete
.Add Type:=xlValidateList, Formula1:=”対応中,完了,保留”
End With
上記コードを実行するとB2セルのプルダウン内容が変更されます。
セルの値に応じてプルダウンの選択肢を動的に切り替えるような複雑な仕組みも、VBAを使えば実現できます。
まとめ
本記事では、エクセルのプルダウンの内容・文字色を変更する方法について、入力規則の編集から条件付き書式の設定まで幅広く解説しました。
プルダウンの内容変更は「データ」タブ→「データの入力規則」を開いてソース欄を編集するのが基本の手順です。
文字色やセルの色を選択値に応じて変えたい場合は条件付き書式を活用し、選択肢ごとにルールを追加しましょう。
名前付き範囲やINDIRECT関数を組み合わせると、より高度な連動プルダウンの仕組みも作れます。
プルダウンを効果的に活用して、入力ミスが少なく見やすい表を作成してみてください。