入力規則はセル毎のデータの入力値、方法に制限をかけます。使用方法は通常の関数とは異なり、入力規則のコマンドボタンから設定します。入力方法にリストを設定するとドロップダウンリストで選択することもできます。ここでは主にリストでの設定方法について説明しています。

1.設定方法

入力規則を設定するセルを選択してから、メニューバーの[データ]→[入力規則]をクリックします。データの入力規則のダイアログが表示されます。[設定]、[入力時メッセージ]、[エラーメッセージ]、[日本語入力]の4つのタブがあり、必要に応じて設定します。
[設定]のタブで初めに入力値の種類を選択します。選択した種類と次の設定項目のデータの条件により、表示される他の設定する項目が変わります。入力値の種類と設定項目は以下の表のようになります。

種類設定項目
すべての値なし
整数条件、最小値、最大値
小数点数条件、最小値、最大値
リスト元の値
日付条件、次の日付から、次の日付まで
時刻条件、次の時刻から、次の時刻まで
文字列(長さ指定)条件、最小値、最大値
ユーザー設定数式

2.リスト

ここではリストの設定方法について詳しく説明します。
リストを選択した時に表示される[ドロップダウンリストから選択する]をチェックすると、そのセルを選択した時に[元の値]に指定された値がドロップダウンリストで表示され入力が簡単になります。
チェックしない場合は入力した値が[元の値]に指定された値の中に一致するものがあるかチェックされ一致しない場合エラーメッセージが表示され入力できません。
[元の値]に設定できるセルの範囲は一つの列か一つの行で、複数行x複数列の範囲の設定はできません。 [元の値]の設定方法により柔軟な設定ができます。

  1. ) Excelのバージョンによる設定の違い
    Excel2003までのバージョンの場合、直接セルの範囲を設定できるのは同じシートである必要がありましたが、Excel2010では別のシートにあるセルの範囲でも設定できるようになりました。そのためExcel2003では他のシートのセルの範囲を設定する場合は、名前やINDIRECT関数を使用して設定する必要があります。以下ではそれぞれの指定方法の違いについても説明します。
  2. ) セルの範囲の直接設定
    同じシートの場合以下のように設定します。以下はA列の1行目から10行目にある10個のデータをリストデータとしています。
    =A1:A10
    または、
    =$A$1:$A:$10
    
    Excel2010の場合で他のシートを設定する場合
    =Sheet2!$A$1:$A$10
    
    但し、Excel2010でも旧バージョンの形式で保存すると入力規則の設定がリセット(すべての値)されます。
  3. ) INDIRECT関数を使用した設定
    Excel2003で他のシートを設定する場合は以下のようにINDIRECT関数を使用します。もちろんExcel2010でも可能です。
    =INDIRECT("Sheet2!$A$1:$A$10")
    
  4. ) 名前による設定
    セルの範囲を予め作成しておいた名前で設定することができます。Excel2003で他のシートの範囲を設定する時に有効です。
    =name1
    
  5. ) リストのセル範囲の自動設定 上記の指定方法では固定範囲しか指定できません。データが追加・削除された場合その都度設定の変更が必要です。OFFSET関数とCOUNTA関数を組み合わせることで、自動的にリスト内容を変更することができます。以下の例はSheet2のA列に1行目から順番にあるデータをドロップダウンリストに表示させます。OFFSET関数の第一パラメータの値Sheet2!A1がデータの開始を表し、COUNTA(Sheet2!A:A)でA列のデータ数を計算して、どこまで表示するかを指定しています。開始位置が異なったり、A列に他のデータがある場合は修正が必要です。 Excel2003の場合には以下のようにINDIRECT関数も使用する必要があります。
    =OFFSET(INDIRECT("Sheet2!A1"),,,COUNTA(INDIRECT("Sheet2!A:A")))
    
    Excel2010の場合は以下のようにINDIRECT関数を省略できます。
    =OFFSET(Sheet2!A1,,,COUNTA(Sheet2!A:A))
    
  6. ) 値の直接設定
    値をコンマ「,」で区切って直接設定することもできます。以下はa,b,c,d,eの5つのデータを設定しています。
    =a,b,c,d,e
    

最終更新のRSS
Last-modified: 2014-03-11 (火) 01:58:42 (3700d)