作成:2006/4/20;更新:2019/12/10
- ドロップダウンリストから選択するため、入力の間違いが少なくなります。
入力する字句を覚えておく必要が無くなります。
ドロップダウンリスト(プルダウンリスト)に表示する値をダイアログボックスで設定する方法
- この方法を使えば、入力するデータのリストをシートに作成しておく必要がありません。
入力規則の設定時に値をセットする方法です。
- 設定するセルを選択します。ここではB3セルを選択しています。
[データ]タブのデータツールグループの[データの入力規則]をクリックします。
- データの入力規則 ダイアログボックスが表示されます。
「入力値の種類」で「リスト」を選択します。
「元の値」に「1,2,3,4,・・・10,11,12」とリストに表示する値をカンマ区切りで入力します。
[OK]ボタンをクリックします。
- B3セルに入力規則が設定できました。
セルを選択して、[▼]ボタンをクリックして、ドロップダウンリストを展開すると、登録した数値1〜12を選択することができます。
キーボードで操作する場合は、[Alt]+[↓]キーを押して展開して、[↓]キーで値を選択して、[Enter]キーで確定します。
ドロップダウンリスト(プルダウンリスト)に表示する値をセル範囲に入力しておく方法
- あらかじめ同じシート内に入力するデータのリストを作成しておく方法です。
- リストに表示する数値1〜12をシートに書き出しておきます。
- 設定するB3セルを選択します。
[データ]タブの[データの入力規則]を選択します。
- 「入力値の種類」で「リスト」を選択します。
「元の値」にあらかじめ「1,2,3,4,・・・10,11,12」と入力されているセル範囲B6:B17を指定します。
使途のセルをドラッグして指定すると、ダイアログには絶対参照で入力されます。
[OK]ボタンをクリックします。
- B3セルに入力規則が設定できました。
セルを選択して、[▼]ボタンをクリックして、ドロップダウンリストを展開すると、登録した数値1〜12を選択することができます。
キーボードで操作する場合は、[Alt]+[↓]キーを押して展開して、[↓]キーで値を選択して、[Enter]キーで確定します。
- Excel2010以降ではダイアログボックスから、別シートのセル範囲を選択して指定できるようになりました。
- Excel2007以降では「元の値」に「=Sheet2!B2:B13」のように入力することで、「Sheet2!」と他のシートを参照できるようになりました。
- Excel2003以前では別シートのリストを入力値とするには、名前の定義を利用する方法やINDIRECT関数を利用する方法があります。
別シートのセル範囲をマウスで指定する(Excel2010以降)
- Sheet2のB2:B13に1月〜12月と入力しています。
- 設定するSheet1のB3セルを選択します。
[データ]タブの[データの入力規則]を選択します。
- データの入力規則 ダイアログボックスが表示されます。
入力値の種類で「リスト」を選択します。
元の値のボックス内をクリックして、カーソルを表示します。
Sheet2のあらかじめ入力していたセル範囲B2:B13をマウスでドラッグします。
元の値に Sheet2!$B$2:$B$13 と入力されます。
[OK]ボタンをクリックします。
- Sheet1のB3セルにドロップダウンリストで1月〜12月を選択することができました。
- リスト範囲に名前を定義すると、別シートのリストが利用できます。
- 別のシートのリストに名前を付けておき、【元の値】に名前を指定します。
- Sheet2のB2:B13に『1月、2月・・・11月、12月』のリストが入力されています。
Sheet2のB2:B13を選択し[名前ボックス]をクリックして、『月数』と入力し、[Enter]キーを押します。
セル範囲B2:B13に「月数」と名前を定義することができました。
- Sheet1のB3セルをクリックしてアクティブにします。
[データ]タブの[データの入力規則]を選択します。
- 「設定」タブの「入力値の種類」で『リスト』を選択します。
「元の値」の欄に「=月数」と入力します。
- (注)「ドロップダウンリストから選択する」にチェックが入っているのを確認してください。
チェックが入っていいないとドロップダウンリストは表示されません。
- または、「元の値」の入力欄をクリックし、[F3]キーを押します。『月数』を選択し、[OK]ボタンをクリックします。
- Sheet1のB3セルに入力規則が設定され、ドロップダウンリストから選択して入力できるようになります。
- Excel2003以前のバージョンでは別シートにリストがある場合、元の値に「=Sheet2!B2:B13」のように「Sheet2!」と別シートを指定することができません。
- Excel2002で元の値に「=Sheet2!B2:B13」と書いた場合・・・
- 他のワークシートへの参照はできないと警告されます。
- 元の値にINDIRECT関数を利用して「=INDIRECT("Sheet2!B2:B13")」とすると、別のシートを参照できます。
- 入力規則で【リスト1】で選択した項目によって【リスト2】の選択値を変える方法です。
- 【例】品名のA2セルで「パソコン」「プリンタ」のいずれかを選択するようにします。
A2セルで「パソコン」を選択したら、B2セルでは「デスクトップ」「ノート」が選択でき、
「プリンタ」を選択したら、B2セルでは「インクジェット」「レーザー」が選択できるようにします。
- なお、Excel2010以降ではテーブルの機能で 入力規則のリストを切り替える(連動させる) こともできるようになりました。
- ドロップダウンリスト(プルダウンリスト)に表示するセル範囲に名前を定義します。
- セル範囲A6:B6を選択し、名前ボックスに「品名」と入力します。
セル範囲A7:A8を選択し、名前ボックスに「パソコン」と入力します。
セル範囲B7:B8を選択し、名前ボックスに「プリンタ」と入力します。
- セル範囲A6:B6を選択し、名前ボックスに「品名」と入力します。
セル範囲A6:B8を選択し、[数式]タブの定義された名前グループの[選択範囲から作成]をクリックします。
「上端行」にチェックを付けて、[OK]ボタンをクリックします。
A7:A8に「パソコン」、B7:B8に「プリンタ」と名前を定義できました。
- A2セルを選択し、[データ]タブの[データの入力規則]を選択します。
- [設定]タブの「入力値の種類」で「リスト」を選択します。
「元の値」の入力欄をクリックし、「=品名」と入力します。
- B2セルを選択し、[データ]→[入力規則]を選択します。
- [設定]タブの「入力値の種類」で「リスト」を選択します。
「元の値」の入力欄をクリックし、「=INDIRECT(A2)」と入力します。
- なお、A2セルが空白の状態ですと、『元の値はエラーと判断されます。続けますか?』
とメッセージがでますが、『はい』をクリックして進みます。
- A2セルの選択によって、B2セルのリストが切り替わります。
- A2セルでパソコンを選択
- A2セルでプリンタを選択
- Excel2010以降ではテーブル機能を利用して、リストの範囲を自動で伸ばすことができます。
- この項の方法と上の「リストの切り替え」との併用はできませんので、ご注意ください。
名前の定義でOFFSET関数とCOUNTA関数でリスト数を数えることでリスト範囲を自動で伸ばす方法です
- リストにデータを追加/削除した場合には、名前を定義した範囲を変更する必要があります。
- 名前を定義した範囲内へセルを挿入してから、データを入力すると、名前を定義した範囲も自動的に拡張されます。
(名前定義した範囲の下のセルにデータを入力した場合は、名前を定義した範囲外になります。)
- 名前の定義に数式を設定して、リスト範囲を自動で伸ばす方法は以下の手順になります。
- Sheet2のA1:A3に下記のデータが入力してあります。
- メニューバーの[挿入]→[名前]→[定義]を選択します。
- 「名前」に「プリンター」と入力します。
- 「参照範囲」に『=OFFSET(Sheet2!$A$2,0,0,COUNTA(Sheet2!$A:$A)-1,1)』と入力します。
または、『=OFFSET($A$2,0,0,SUM((LEN($A$2:$A$100)<>0)*1))』のようにしてもOK。
- [OK]ボタンをクリックします。
- Sheet1のA1セルに入力規則を設定します。
- Sheet1のA1セルを選択し、[データ]→[入力規則]を選択します。
- [設定]タブの「入力値の種類」で「リスト」を選択します。
「元の値」の欄に定義した名前「=プリンター」と入力します。
- [OK]ボタンをクリックします。
- 【確認】
- この状態で、A1セルのドロップダウンメニューを開くと、2個の選択肢があります。
- Sheet2のA4セルに『レーザー(カラー)』 A5セルに『ドットインパクト』と入力します。
- Sheet1のA1セルのドロップダウンメニューを開くと、4個の選択肢に増えました。
以上で、自動的にリストを拡張しているのを確認できました。
- [データ]タブの[データの入力規則]を選択します。
データの入力規則 ダイアログボックスの[設定]タブで「ドロップダウンリストから選択する」にチェックを入れると表示されます。
- [ファイル]タブをクリックして、バックステージを表示します。
[オプション]を選択して、Excelのオプションで[詳細設定]を選択して、タブの「オブジェクトの表示」で「すべて」にチェックを入れると表示されます。