研修ではかなりの頻度でご紹介しているのですが、こちらでは Excel 2003 の頃に書いてからあまり触れていなかったようです。
今回はこれ↓。
セルにデータを入力するときに「リストから選んだものならOKですよ。それ以外は基本的には NG ね」っていう状態をセルに設定できる「データの入力規則」の 1 つである「リスト」についてです。
過去にご紹介した記事もいくつかあるのですが、バージョンがかなり古い (Excel 2003) なので再度ご紹介します。
同じワークシートのセル範囲を参照する
まず 1 つ目は、下図のようにドロップダウン リストに表示したい値が、同じワークシートのセル範囲にある場合の手順です。
-
ドロップダウン リストを設定するセルを選択し、リボンの [データ] タブの
[データ ツール] グループの [データの入力規則] をクリックします。
-
[データの入力規則] ダイアログ ボックスが表示されます。
ちなみに既定では、[設定] タブの [入力値の種類] で「すべての値」が指定されているので、制限なくどんな値でも (セルに格納できる値なら) 受け付けますよ、という状態です。
この [入力値の種類] を「リスト」に変更するということは、リストの値なら受け付けますよ (それ以外はだめですよ) という状態にする、とうことです。
「リスト」を選択し、[元の値] ボックスの中をクリックするなどして、カーソルを表示します。
-
カーソルが表示されたら、ドロップダウン リストに表示したい値が含まれるセル範囲をドラッグして選択します。
([元の値] ボックスにセル範囲を手入力しても OK)
このとき、選択したセル範囲は、特別なことをしなくても絶対参照 ($ が列と行につく) で指定されます。
-
[データの入力規則] ダイアログ ボックスの [OK] をクリックします。
-
データの入力規則を設定したセルをアクティブにすると、▼が表示されドロップダウン リストで入力する値を選択できます。
ほかのワークシートのセル範囲を参照する
Excel 2007 以降のバージョンでは、ドロップダウン リストで参照したい値がほかのワークシートにまとめられていても、前の手順と同じ進め方で設定できます。
下図のように、ドロップダウン リストを設定したいセルは「シート1」に、参照したいセル範囲は「項目リスト」にあるようなケースで手順をご紹介します。
-
ドロップダウン リストを設定するセルを選択して、リボンの [データ] タブの [データ ツール] グループの [データの入力規則] をクリックし、[データの入力規則] ダイアログ ボックスを表示します。
[設定] タブの [入力値の種類] で「リスト」を選択し、[元の値] ボックスの中をクリックするなどして、カーソルを表示し、「=シート名!セル範囲」 (=項目リスト!$A$2:$A$6) となるように、参照するセル範囲を指定します。
(もちろん手入力をしてもよいですが、クリックやドラッグで指定する場合は次の手順へ)
-
参照するセル範囲のワークシートのシート見出しをクリックします。
[元の値] ボックスに、「=項目リスト!」のように参照するシート名が指定されます。
(この後余計なことをせずに次の手順へ)
-
ドロップダウン リストに表示したい値が含まれるセル範囲をドラッグして選択します。
「=シート名!セル範囲」という形式で参照するセル範囲が指定されます。
-
[データの入力規則] ダイアログ ボックスの [OK] をクリックします。
「=項目リスト!$A$2:$A$6」のように、参照するセル範囲の前にシート名が記述されていればそのシートを、シート名が省略されていればアクティブ シートを参照します。
(Excel はシート名が省略されているとアクティブ シートのことだと認識するので。)
-
データの入力規則を設定したセルをアクティブにすると、▼が表示されドロップダウン リストで入力する値を選択できます。
セル参照をするメリットの 1 つは、ドロップダウン リストのメンテナンスがしやすいこと。
たとえば、ダイアログ ボックスの [元の値] に直接、「カテゴリA,カテゴリB,カテゴリC」のように指定することもできるのですが、リストに表示したい項目がワークシート上にあると一覧性が高く、修正も含めた管理がしやすいですね。
Excel 2007 以降のバージョンでは、ほかのワークシートのセル範囲を参照するための設定も、(名前の定義などをせずに) 行えるようになっているので、データの追加が頻繁ではないリストなら、この方法で十分かもしれません。
石田 かのこ