Excelには、入力ミスを防ぎ、データを整えやすくするための便利な機能として
『データの入力規則』によるドロップダウンリストがあります。
アンケートや申請書、業務データの入力など、入力内容を統一したい場面では特に効果的です。
- 入力する側:選ぶだけで簡単
- 管理する側:表記ゆれがなく集計がラク
と、双方にメリットがあります。
この記事では、
- ドロップダウンリストの基本的な作成方法
- ドロップダウンの解除方法
- 「名前の定義」を使った管理しやすい設定方法
- よくある注意点とトラブル対策
まで、実務で使える形で解説します。
【基本操作】ドロップダウンの作成方法
データのリストを準備する
まず、ドロップダウンに表示したい項目リストをエクセル上に用意します。
項目リストは、印刷範囲外に置くことがポイントです。改ページプレビューの青枠外(印刷範囲外)に置くと分かりやすいです。
項目リスト専用のシートを別シートにまとめてもよいでしょう。

ドロップダウンに表示したい項目リストは行方向(横方向)ではなく、列方向(縦方向)に作成するのがおすすめです。
列方向に作成する方が、項目リストが多くなった際にも見やすくなる上、項目の追加・削除もやりやすくなります。
リストを非表示にする方もいますが、複数人で編集するファイルでは、トラブル時に見つけにくくなるため、ある程度わかる場所に置く方が親切です。
データの入力規則を設定する
1.リストができたら、ドロップダウンリストを作成したいセルをクリックして選択します。
2.上部メニューの『データ』タブをクリックします。
3.データツールのセクションにある、『データの入力規則』をクリックします。
4.データの入力規則のダイアログボックスが表示されます。

設定タブでリストを指定する
1.『データの入力規則』のダイアログボックスが表示されたら、『設定』タブを選択します。
2.『入力値の種類』を『すべての値』から『リスト』に変更します。
3.『ドロップダウンリストから選択する』にチェックをいれます。

4.『元の値』に、リストの範囲を入力します。
例:
・同じシート内 → $J$4:$J$9
・別シートの J4〜J9 → =Sheet1!$J$4:$J$9
※直接入力で別シートの範囲を参照する操作は不安定であるため、後述する『名前の定義』を使う方法がおすすめです。
マウスドラッグを使うと、目で見ながら直感的に範囲指定することができます。

条件設定の『空白を無視する』にチェックを外すと、未入力で処理した時にエラーメッセージを表示させることができます。

ただし、Escapeキー(Esc)を押すと、エラーメッセージを表示させることなく、入力モードから抜けられるので完全に未入力を防止できるわけではありません。

入力メッセージ、エラーメッセージを表示させる
『入力メッセージ』タブや『エラーメッセージ』タブで、必要に応じてメッセージを設定します。
入力メッセージ
1.『データの入力規則』のダイアログボックスの『入力時メッセージ』のタブを選択します。
2.『タイトル』欄にはメッセージのタイトルを、『入力時メッセージ』欄には、回答する内容の説明や補足など必要に応じて入力します。
3.『セルを選択したときに入力時メッセージを表示する』にチェックを入れます。ここにチェックを入れないと、設定したメッセージは表示されません。

エラーメッセージ
1.『データの入力規則』のダイアログボックスの『エラー メッセージ』のタブを選択します。
2.『タイトル』欄にはメッセージのタイトルを、『エラー メッセージ』欄には、エラーメッセージを必要に応じて入力します。

デフォルトのエラーメッセージで問題なければ、空欄のままにしておきます。

3.『無効なデータが入力されたらエラーメッセージを表示する』にチェックを入れます。
ここにチェックを入れないと、ドロップダウンリストを無視して、どんな値でも入力ができてしまいます。

『無効なデータが入力されたらエラーメッセージを表示する』にチェックを外す場合の使い方として
例えばアンケートの回答が、ドロップダウンリスト内にないときに、回答者に直接入力させる場合などが考えられます。
その際は、『入力メッセージ』の設定で、「該当するものがリストにない場合は直接入力してください」などと誘導してあげるとよいでしょう。
同様に、エラーメッセージのスタイルを『注意』や『情報』にすると、ドロップダウンリスト以外の手動入力値を許可することができます。

ドロップダウンリストを確認する
設定が終わったら、『OK』ボタンをクリックしてダイアログボックスを閉じます。
選択したセルをクリックすると、ドロップダウンリストの矢印が表示され、リストから選択できるようになります。
この手順で、エクセルでのドロップダウンリストが作成できます。

もしリストの内容を変更したい場合は、リストのセル範囲を変更するか、元のリストを編集すれば反映されます。

ドロップダウンリストの解除方法
ドロップダウンリストを設定した方法を、設定手順を逆にたどることで、入力規則を解除することができます。
1.ドロップダウンリストが設定されているセルを選択します。
2.上部メニューの『データ』タブをクリックします。
3.『データツール』セクションにある、『データの入力規則』を選択します。
4.データの入力規則のダイアログボックスが表示されます。

5.データ検証ダイアログボックスが表示されたら、『設定』タブを選択します。
6.現在『リスト』が選択されている、『入力値の種類』の欄で、選択リストから『すべての値』を選択します。
7.OKボタンをクリックして、設定を適用します。

これで、選択したセルのドロップダウンリストが解除され、リストの項目が表示されなくなります。
ただし、セル内の値が残っている場合、そのまま保持されるので、不要な場合は手動で削除する必要があります。
【応用】『名前の定義』を使ったドロップダウンリストの作成
リストの範囲を直接指定する方法は簡単ですが、同じリストを複数の場所で使用するような場合は注意が必要です。
項目を増やすなど、リストの内容を大きく変更した際には、リストを参照している入力規則を全て修正する必要があり、煩雑になります。

そこで便利なのが 『名前の定義』 を使う方法です。
名前の定義を使うメリット
- 数式が短くなり、管理しやすい
- 他のシートからでも簡単に参照できる
- リストの内容を変更しても自動反映させやすい
などが挙げられます。
名前の定義の設定方法
名前の定義のやり方はいくつかありますが、最も基本的な方法を解説します。
1.数式タブの『定義された名前』セクションにある、『名前の定義』のアイコンをクリックします。

2.『新しい名前』のダイアログボックスが表示されたら、『名前』の欄にリストの名前を入力します(例:年齢層)。
ここで定義したリストの『名前』が、後で数式として利用する名前になります(例:=年齢層)。
3.『参照範囲』の欄にリスト範囲を入力します。

4.OK を押して登録します。
これで、J4:J9 の範囲に『年齢層』という名前が定義されました。
入力規則で名前を使う
『データの入力規則』の『元の値』に次のように入力します。
=年齢層
これだけで、範囲指定なしにリストを参照できます。

名前の定義は数式として扱われるので、『=年齢層』という風に『=』をつけるのを忘れないようにしましょう。
名前の定義は=VLOOKUP()関数や=XLOOKUP関数の参照データとしても使えるので、活用してみましょう。
【さらに応用】テーブル機能を使ったドロップダウンリストの作成
『名前の定義』と『テーブル』機能を組み合わせるとさらにリストの管理を効率化することができます。
テーブル化とは
テーブル化『Ctrl+T』とは、Excel のデータ範囲を“構造化された表”として扱えるようにする機能のことです。
具体的には
・各列にフィルターが付き、並べ替えや抽出が簡単になる
・通常のセル参照(例:A2:A10)ではなく、テーブルの名前で範囲を参照することができる
などの特徴があります。
「Excel自体が表でしょ?」と思ってしまいますが、Excelに対して「この部分は表として扱いますよ」とあらためて認識させる操作のイメージです。
テーブル化を使ったドロップダウンリストのメリット
- テーブル範囲が自動で拡張
- 名前の定義も自動で追従
- ドロップダウンリストにも即反映
などが挙げられます。
それぞれのメリットの具体的な内容にも触れながら、実際の設定の仕方を解説していきます。
テーブル化⇔解除の方法
テーブル化
1.テーブル化したいリストの範囲をドラッグで選択します。
この時選択の範囲はテーブルの列名となる見出し部分まで選択します。
2.『Ctrl+T』のショートカットキーを使います。
3.『テーブルの作成』というダイアログボックスが表示されたら、『先頭行をテーブルの見出しとして使用する』にチェックをいれてOKボタンを押します。

4.テーブルができあがったら、管理しやすいテーブル名にしておくのがおすすめです。
テーブルを選択した状態で、上部メニューの『テーブルデザイン』タブをクリックします。
5.『プロパティ』グループにある『テーブル名』の欄を直接入力して編集します。

テーブルの解除
テーブルの解除は以下の手順で行います。
1.テーブルを選択した状態で、上部メニューの『テーブルデザイン』タブをクリックします。
2.『ツール』グループにある『範囲に変換』のアイコンをクリックします。
3.『テーブルを標準の範囲に変換しますか?』と表示されたらOKボタンをクリックします。

標準の範囲に戻った後も、テーブル化したときに自動で変更された表のスタイルはそのままになっています。
これを元に戻すには、以下の手順で操作します。
1.何もないセルにカーソルを合わせます。
2.『ホーム』タブの『クリップボード』グループにある『書式のコピー/貼り付け』アイコン(刷毛のアイコン)をクリックします。
3.テーブルがあった範囲をドラッグして選択します。これで空白セルの書式のみコピーされます。

テーブルを解除しても、後に説明するドロップダウンリストの参照は自動で通常のセル参照(例:A2:A10)に修正されるため、すぐにはエラーやトラブルにはつながりません。
名前の定義でテーブルを登録する
テーブルの内容をドロップダウンリストで使えるようにするには、『名前の定義』でテーブルの列を参照リストとして登録する必要があります。
やり方はいくつかありますが、一例を以下に解説します。
1.ドロップダウンリストに利用したい列の見出し部分にカーソルを合わせます。
2.数式タブの『定義された名前』セクションにある、『名前の定義』のアイコンをクリックします。

3.『新しい名前』のダイアログボックスが表示されたら、『名前』欄に列の見出し名が入っていることを確認します。
4.参照範囲欄の [#見出し] という記載部分を削除します。
今回の例ではテーブル名を『テーブル1』としているので
『=テーブル1[[#見出し],[年齢層]]』
という記載から
『=テーブル1[年齢層]』
に修正します。

『 =テーブル1[#すべて] 』と記載することでテーブル全体を指定することもできますが、ドロップダウンリストにおいては単一の行、または列しか参照することができません。
データの入力規則でテーブルを指定する
ここまで設定出来たら、テーブルも名前の定義で説明したやり方と同様にドロップダウンリストとして利用することができます。
『データの入力規則』の『元の値』に次のように入力します。
=年齢層
これだけで、範囲指定なしにテーブルの列をリストとして参照できます。

テーブル化した場合、列の見出し名を編集しても自動で名前の定義に反映され、ドロップダウンリストが崩れることはありません。

テーブル化していると、テーブル内に追加した項目は自動で、ドロップダウンリストに追加されます。

それだけではなく、テーブルの末端行の次のセルに項目を追加すると、自動でテーブルが拡張され、ドロップダウンリストに追加されます。
これが先述したメリットであり、テーブルを利用することで、リストを更新する度、入力規則を設定しなおす必要がなくなります。

テーブルの中に空白セルがあると、ドロップダウンリストの中にも空白の選択肢が表示されます。

ドロップダウンリスト用としての運用に重点を置く場合は、列ごとにテーブル化することで、空白の選択肢を回避することができます。

さいごに
ドロップダウンリストを使えば、入力者によって微妙に異なるフォントや数値⇔文字列などもそろえることができて、データ解析も効率的に行うことができます。
最初はシンプルな設定からでOKです。使用頻度が高いフォームほど効果を発揮しますのでぜひ使ってみてください。
皆さんのお仕事に少しでも役立てれば幸いです。ではまたノシ

コメント