リストから選択!エクセルの入力規則・プルダウンの設定方法【別シート対応】

はじめに
Excel(エクセル)を使っているときに、次のような悩みを感じたことはありませんか?
- 「リストから選択してデータ入力したい。」
- 「別シートのリストをデータ入力に使用したい。」
こうした課題は、テーブルをINDIRECT関数で参照し、データの入力規則 を設定することで解決できます。
- データの入力規則 の「リスト」を使用すると「データ入力でリスト(プルダウン / ドロップダウンリスト)選択」できるようになる。
- データの入力規則で使用するリストとしてテーブルを参照すると、テーブルにデータを追加したときに、自動的にリストの項目が増える。
- 別のシートのテーブルを参照する場合は、INDIRECT関数を使用すると、同じシートのテーブルの参照時と同様に機能する。
実践:別シートのリストを参照して、入力規則を設定する手順
別シート にあるテーブルをリストとして参照し、入力規則を設定する手順は以下の通りです。
- リストの準備
- 設定箇所の選択
- 入力規則を設定

同じシート 上のテーブルを参照する場合も 同じ設定 で機能します。
リストの準備
データ入力のときの選択肢となるリストを作成します。

リストをテーブルに格納することで、データ追加時に自動的に選択肢の項目が増えます。
- 見出しとして名前を記入し、その下の行以降にリストの項目を追加して、リストを作成。
- リストのセルを選択した状態で、挿入タブのテーブル(Ctrl + t)を押して、ダイアログを進みテーブル化。
- テーブルのセルを選択した状態で、テーブルデザインタブを押し、「テーブル名」欄にM_アイテムを記入。

設定箇所の選択
データの入力規則の設定
データの入力規則を設定します。
- データタブのデータの入力規則を選択し、データの入力規則ダイアログを表示。
- ダイアログの 設定タブで下記を設定
- 入力値の種類 : リストを選択
- ドロップダウンから選択をチェック
- 元の値 : =INDIRECT("M_アイテム[名前]")を記入

INDIRECT関数の中にダブルクォーテーション"が入るので忘れないようにしましょう。
- OKを押して、ダイアログを閉じる。

設定を修正する場合
データの入力規則の設定を修正したい場合は、
データの入力規則を設定したセルを選択
データの入力規則の設定を変更したいセルを選択します。
ジャンプ機能で設定場所がわかる
ジャンプ機能を使うと、データの入力規則を設定したセルが視覚的にわかります。
- F5でジャンプダイアログを表示
- セル選択をクリック
- データの入力規則を選択し、OKをクリック
入力規則の設定を変更
データの入力規則ダイアログを開き、設定を変更します。
- データタブのデータの入力規則を選択し、データの入力規則ダイアログを表示。
- 設定を変更し、OKをクリック
同じ設定をしたすべてのセルを修正する場合
ダイアログ中の設定タブの同じ入力規則が設定されたすべてのセルに変更を適用するにチェックを入れると、
同じ内容で入力規則の設定を行った、 すべてのセル を一括で設定変更できる。
メリット:入力規則の設定で作業効率が上がる理由
データの入力規則を設定するメリットには、以下の2つがあります。
- データ入力の効率が上がる
- データの精度が向上する
データ入力の効率が上がる
ドロップダウン / プルダウンリスト(Alt + ↓ )からの選択で入力ができるため、
リストに使用するテーブルのデータを外部から取得することも可能です。
データの精度が向上する
データ入力時の「入力ミス」や「表記ゆれ」が減ります。
入力値の種類としてリスト以外を選択した場合は、
【逆引き】状況別の解決策
状況によっては、それぞれ違ったアプローチの方が効果的な場合もあります。
- もっと手軽に済ませたい → 同シートなら通常の参照も良い
- 入力ミスを視覚化したい → 条件付き書式を使用する
- 規則・ルールの説明書きを表示させたい → 入力時メッセージを設定する
- テーブル名を変える可能性がある・パフォーマンスを優先したい → 名前の定義を使用する
もっと手軽に済ませたいとき、同シートなら通常の参照もOK
ドロップダウン / プルダウンリストとして使用するテーブルが同じシート上にある場合は、
データの入力規則のリストの元の値
- 別シートの場合 : =INDIRECT("M_アイテム[名前]")
- 同シートの場合 : =シート名!$B$3:$B$7
参照するリストにデータを追加・削除しても、参照範囲が自動で調整され、

「はい/いいえ」のように選択肢が少ないなら、「セル範囲を参照」ではなく、直接「カンマ区切りで値を列挙」するのもありです。
入力ミスを視覚化するなら、条件付き書式を使用
データの入力規則を設定すると、規則外のデータ入力を制限できます。
コピペでの間違った入力に対応するには 規則外のセルに色を付けること が有効です。
コピペでの入力は注意
データの入力規則を設定したセルにコピペする場合は、設定を書き換えないように注意が必要です。
「別のセル」をコピーし、「データの入力規則を設定したセル」に 通常の貼り付け を行うと、
設定もコピペされ、 データの入力規則の設定が書き換えられてしまいます 。
データの入力規則を設定したセルに コピペして値を記入するときは、 値の貼り付け (Ctrl + Shift + v) ※ を使用する必要があります。
※ 旧版エクセルの場合は Ctrl + Alt + v → v

規則外のデータ入力をしたセルは、 条件付き書式 を使わなくても、左上に緑の三角形で警告が出ることがありますが、
規則・ルールの説明書きを表示するなら、入力時メッセージを設定
データを入力するときに、テキストでの説明書きを表示させたい場合は、

「リストから選択して入力する」なら単純で不要な場合も多いですが、
テーブル名を変える可能性がある・パフォーマンスを優先するなら「名前の定義」を使用
参照するリストのテーブル名を、今後変える可能性がある場合や、パフォーマンスを優先したい場合は、
名前の定義を使うメリットは以下です。
- ✅ テーブル名を変更してもリンクが切れない
- ✅ INDIRECT関数によるパフォーマンスの低下を防げる
(INDIRECT関数は再計算のたびに計算される揮発性関数で付加が大きくなる)

一方で、 名前の定義 を設定する手間と、可読性の低下が生じることが欠点です。
「データのテーブル化」がExcel効率化の第一歩
上記で説明したように、
テーブル機能をうまく扱えるようになることが、Excel効率化の第一歩です。

