さくっとエクセレートさくっとエクセレート

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

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

はじめに

Excel(エクセル)を使っているときに、次のような悩みを感じたことはありませんか?

  • 「リストから選択してデータ入力したい。
  • 「別シートのリストをデータ入力に使用したい。

こうした課題は、テーブルをINDIRECT関数で参照し、データの入力規則 を設定することで解決できます。

  • データの入力規則 の「リスト」を使用すると「データ入力でリスト(プルダウン / ドロップダウンリスト)選択」できるようになる。
  • データの入力規則で使用するリストとしてテーブルを参照すると、テーブルにデータを追加したときに、自動的にリストの項目が増える。
  • 別のシートのテーブルを参照する場合は、INDIRECT関数を使用すると、同じシートのテーブルの参照時と同様に機能する。

実践:別シートのリストを参照して、入力規則を設定する手順

別シート にあるテーブルをリストとして参照し、入力規則を設定する手順は以下の通りです。

  1. リストの準備
  2. 設定箇所の選択
  3. 入力規則を設定
吉峰
吉峰

同じシート 上のテーブルを参照する場合も 同じ設定 で機能します。

STEP1

リストの準備

データ入力のときの選択肢となるリストを作成します。リストはテーブルに格納します。ここでは例として、「テーブル名:M_アイテム列名:名前のテーブルを作成します。

吉峰
吉峰

リストをテーブルに格納することで、データ追加時に自動的に選択肢の項目が増えます。

  1. 見出しとして名前を記入し、その下の行以降にリストの項目を追加して、リストを作成。
  2. リストのセルを選択した状態で、挿入タブのテーブルCtrl + tを押して、ダイアログを進みテーブル化。
  3. テーブルのセルを選択した状態で、テーブルデザインタブを押し、「テーブル名」欄にM_アイテムを記入。
リストの準備
STEP2

設定箇所の選択

データ入力時にリスト表示させるセルを、範囲選択します。下記は、テーブルM_アイテムとは別のシートのセルを選択したときの例です。必須ではありませんが、テーブル化もしてあります。

データ入力欄もテーブル化がオススメ

データ入力用のセルもテーブル化しておくと、
入力欄を拡張したときに、データの入力規則の設定も自動で拡張され便利です。

設定箇所の選択
STEP3

データの入力規則の設定

データの入力規則を設定します。

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

INDIRECT関数の中にダブルクォーテーション"が入るので忘れないようにしましょう。INDIRECT関数を使用する理由は、構造化参照(テーブル参照)の使用のためです。

  1. OKを押して、ダイアログを閉じる。
データの入力規則を設定
 

設定を修正する場合

データの入力規則の設定を修正したい場合は、設定済みのセルを選択して再設定するだけです。

STEP1

データの入力規則を設定したセルを選択

データの入力規則の設定を変更したいセルを選択します。

ジャンプ機能で設定場所がわかる

ジャンプ機能を使うと、データの入力規則を設定したセルが視覚的にわかります。

  1. F5でジャンプダイアログを表示
  2. セル選択をクリック
  3. データの入力規則を選択し、OKをクリック
STEP2

入力規則の設定を変更

データの入力規則ダイアログを開き、設定を変更します。

  1. データタブのデータの入力規則を選択し、データの入力規則ダイアログを表示。
  2. 設定を変更し、OKをクリック

同じ設定をしたすべてのセルを修正する場合

ダイアログ中の設定タブの同じ入力規則が設定されたすべてのセルに変更を適用するにチェックを入れると、
同じ内容で入力規則の設定を行った、すべてのセル を一括で設定変更できる。

メリット:入力規則の設定で作業効率が上がる理由

データの入力規則を設定するメリットには、以下の2つがあります。

  • データ入力の効率が上がる
  • データの精度が向上する
 

データ入力の効率が上がる

ドロップダウン / プルダウンリスト(Alt + からの選択で入力ができるため、入力する内容に悩む時間がなくなります他から転記して入力する場合は、転記する元の内容を探す時間も必要なくなります。

リストに使用するテーブルのデータを外部から取得することも可能です。

 

データの精度が向上する

データ入力時の「入力ミス」や「表記ゆれ」が減ります。

入力値の種類としてリスト以外を選択した場合は、ドロップダウン / プルダウンリストを使ったデータ入力はできません。しかしこの場合であっても、規則に反した形式のデータ入力が制限されるため、意図しないデータ入力を防ぐことができます。

【逆引き】状況別の解決策

状況によっては、それぞれ違ったアプローチの方が効果的な場合もあります。以下の状況について、それぞれ説明します。

  • もっと手軽に済ませたい → 同シートなら通常の参照も良い
  • 入力ミスを視覚化したい → 条件付き書式を使用する
  • 規則・ルールの説明書きを表示させたい → 入力時メッセージを設定する
  • テーブル名を変える可能性がある・パフォーマンスを優先したい → 名前の定義を使用する
 

もっと手軽に済ませたいとき、同シートなら通常の参照もOK

ドロップダウン / プルダウンリストとして使用するテーブルが同じシート上にある場合は、INDIRECT関数と構造化参照(テーブル参照)を使わない単純な数式 による設定でも問題はありません。

データの入力規則のリストの元の値

  • 別シートの場合 : =INDIRECT("M_アイテム[名前]")
  • 同シートの場合 : =シート名!$B$3:$B$7

参照するリストにデータを追加・削除しても、参照範囲が自動で調整され、リストのセル位置を移動させても自動で修正されます。

吉峰
吉峰

「はい/いいえ」のように選択肢が少ないなら、「セル範囲を参照」ではなく、直接「カンマ区切りで値を列挙」するのもありです。

 

入力ミスを視覚化するなら、条件付き書式を使用

データの入力規則を設定すると、規則外のデータ入力を制限できます。しかし、コピペ(コピー&ペースト)での入力は制限できません

コピペでの間違った入力に対応するには 規則外のセルに色を付けること が有効です。条件付き書式 を使うことで実装できます。

コピペでの入力は注意

データの入力規則を設定したセルにコピペする場合は、設定を書き換えないように注意が必要です。
「別のセル」をコピーし、「データの入力規則を設定したセル」通常の貼り付け を行うと、
設定もコピペされ、 データの入力規則の設定が書き換えられてしまいます
データの入力規則を設定したセルに コピペして値を記入するときは、値の貼り付けCtrl + Shift + v ※ を使用する必要があります。

※ 旧版エクセルの場合は Ctrl + Alt + vv

吉峰
吉峰

規則外のデータ入力をしたセルは、条件付き書式 を使わなくても、左上に緑の三角形で警告が出ることがありますが、「目立たない」「他の警告と区別できない」です。

 

規則・ルールの説明書きを表示するなら、入力時メッセージを設定

データを入力するときに、テキストでの説明書きを表示させたい場合は、データの入力規則の 入力時メッセージ を設定することで対応できます。

データの入力規則を設定
吉峰
吉峰

「リストから選択して入力する」なら単純で不要な場合も多いですが、「文字を直接入力する」場合は自由に入力できてしまうため、意図しないデータ入力を防ぐためにも説明は重要 です。

 

テーブル名を変える可能性がある・パフォーマンスを優先するなら「名前の定義」を使用

参照するリストのテーブル名を、今後変える可能性がある場合や、パフォーマンスを優先したい場合は、INDIRECT関数ではなく、名前の定義 を使用します。名前の定義 でテーブル参照の数式を定義し、定義した名前を参照することで実装できます。

名前の定義を使うメリットは以下です。

  • ✅ テーブル名を変更してもリンクが切れない
  • INDIRECT関数によるパフォーマンスの低下を防げる
    INDIRECT関数は再計算のたびに計算される揮発性関数で付加が大きくなる)
吉峰
吉峰

一方で、名前の定義 を設定する手間と、可読性の低下が生じることが欠点です。

「データのテーブル化」がExcel効率化の第一歩

上記で説明したように、別シートのリストを参照し、データ入力のドロップダウン / プルダウンリストとして使用したい場合は、「リストをテーブル化」して「INDIRECT関数で参照」することで、テーブルの便利機能を使って実装できます。

テーブル機能をうまく扱えるようになることが、Excel効率化の第一歩です。テーブルは外部(別ファイル)から取得し同期できるため、データの活用・再利用が可能になります。このとき重要になるのが「テーブル」と「Power Query」です。