- 【プルダウンメニュー】から選択するため、入力の間違いが少なくなります。
- 入力する字句を覚えておく必要が無くなります。
値を入力する場合
- 入力規則を設定するセルを選択します。
- [データ]タブの[データツール]グループの[データの入力規則]を実行します。
- 「入力値の種類」で「リスト」を選択します。
- 「元の値」に「1,2,3,4,・・・10,11,12」と入力します。
セル範囲で指定する場合
- 入力規則を設定するセルを選択します。
- [データ]タブの[データツール]グループの[データの入力規則]を実行します。
- 「入力値の種類」で「リスト」を選択します。
- 「元の値」に「1,2,3,4,・・・10,11,12」が入力してあるセル範囲を指定します。
- エクセル2007では「元の値」に「=Sheet2!B2:B13」のように「Sheet2!」と他のシートを参照できるようになりました。。
- 元の値に「=Sheet2!B2:B13」と書いた例です。
名前の定義を利用する
- 従来と同じようにリスト範囲に名前を定義しても、別シートのリストが利用できます。
- 別のシートのリストに名前を付けておき、「元の値」に名前を指定します。
【設定例】 Sheet2のB2:B13に『1月、2月・・・11月、12月』のリストが入力されています。
- Sheet2のB2:B13を選択し[名前ボックス]内をクリックして、『月数』と入力し、[Enter]キーを押します。
- セル範囲Sheet2のB2:B13に「月数」と名前が定義されました。
- Sheet1のA1セルをクリックしてアクティブにします。
- [データ]タブの[データツール]グループの[データの入力規則]を実行します。
- 「入力値の種類」で「リスト」を選択します。
- 「元の値」の欄に『=月数』と入力します。
または、
「元の値」の欄をクリックし、[F3]キーを押します。『月数』を選択し、[Enter]キーを押します。
- [OK]ボタンをクリックします。
- 入力規則で【リスト1】で選択した項目によって【リスト2】の選択値を変える方法です。
- 名前の定義とINDIRECT関数を使います。
- 【例】A2セルで「野菜」「肉」をリストから選択します。
「野菜」を選択するとB2セルでは「大根」「人参」「レタス」が選択でき、「肉」を選択するとB2セルでは「牛肉」「豚肉」「鶏肉」が選択できるようにします。
- 【操作手順】
- リストとなる部分に名前を定義します。
- セル範囲A6:B6を選択し、名前ボックスに「種類」と入力します。←名前の定義方法(A)
- セル範囲A6:B9を選択し、[数式]タブの[定義された名前]グループの[選択範囲から作成]を実行します。←名前の定義方法(B)
- セル範囲A6:B9を選択し、[数式]タブの[定義された名前]グループの[選択範囲から作成]を実行します
- 『上端行』にチェックを付けて、[OK]ボタンをクリックします。
- A7:A9に「野菜」、B7:B9に「肉」と名前を定義できました。
- A2セルを選択し、[データ]タブの[データツール]グループの[データの入力規則]を実行します。
- [設定]タブの「入力値の種類」で「リスト」を選択します。
- 「元の値」の欄をクリックし、『=種類』 と入力します。
- B2セルを選択し、[データ]タブの[データツール]グループの[データの入力規則]を実行します。
- [設定]タブの「入力値の種類」で「リスト」を選択します。
- 「元の値」の欄をクリックし、『=INDIRECT(A2)』 と入力します。
- なお、A2セルが空白の状態ですと、『元の値はエラーと判断されます。続けますか?』
とメッセージがでますが、『はい』をクリックして進みます。
- A2セルの選択によって、B2セルのリストが切り替わります。
| A2セルで肉を選択 |
A2セルで野菜を選択 |
 |
 |
- リストにデータを追加/削除した場合に名前を定義した範囲を変更する必要があります。
- 名前を定義した範囲内のセルを挿入してから、データを入力すると、名前を定義した範囲も自動的に拡張されます。
(名前定義した範囲の下のセルにデータを入力した場合は、名前を定義した範囲外になります。)
- なお、この項の方法と上の「リストの切り替え」との併用はできませんので、ご注意ください。
同一シートの場合
- OFFSET関数とCOUNTA関数を組み合わせてセル範囲を指定します。
- 【例】現在、リスト範囲がA7:A9ですが、リストはA10以降に入力していくことになっています。
- C7セルを選択し、[データ]タブの[データツール]グループの[データの入力規則]を実行します。
- [設定]タブの「入力値の種類」で「リスト」を選択します。
- 「元の値」の欄をクリックし、『=OFFSET($A$7,0,0,COUNTA($A7:$A100),1)』と入力します。
- A10,A11に入力したら、リスト範囲もA7:A11へ自動でのびます。

別シートの場合
- 名前の定義を利用します。
- 【例】Sheet2のA1から下方向へリストを入力するものとします。
- [数式]タブの[定義された名前]グループの[名前の定義]を実行します。
- 名前に「野菜」と入力します。
- 参照範囲に「=OFFSET(Sheet2!$A$1,0,0,COUNTA(Sheet2!$A:$A),1)」と入力します。
- Sheet1のA2セルを選択して、[データ]タブの[データツール]グループの[データの入力規則]を実行します。
- [設定]タブの「入力値の種類」で「リスト」を選択します。
- 「元の値」の欄をクリックし、『=野菜』と入力します。
- 下図のように自動でリストがのびました。
| 元の状態 |
Sheet2のA4:A5に追加 |
 |
 |
| リストには3個 |
リストに追加された |
 |
 |
- 入力作業で、重複データかどうかを確認しながら入力するのはちょっと手間がかかります。
- 入力時に前に入力してあるデータであったらメッセージが表示される方法です。
- ただし、コピー&貼り付け したデータには対処できません。(VBAに頼ることになりそうです)
(操作手順)
- 重複データの入力を防ぎたいセル範囲を選択します。
- [データ]タブの[データツール]グループの[データの入力規則]を実行します。
- 【データの入力規則】ダイアログの「設定」タブで「入力値の種類」で[ユーザー設定]を選択します。
- [数式(F)]に、「=COUNTIF(セル範囲,アクティブセル)<=1」 と入力します。
- [エラー メッセージ]タブで、処理方法を設定して【OK】ボタンをクリックします。
- 【データ】→【入力規則】の「設定」タブで「ドロップダウンリストから選択する」にチェックを入れると表示されます。
- [Officeボタン]→[Excelのオプション]を実行します。
[詳細設定]を選択し、「オブジェクトの表示」で「すべて」にチェックを入れます。