資料室 > 入力規則 > リストを可変範囲にする

リストを可変範囲にする

セルの入力値をリストから選択するために

  1. [データ(D)]>[入力規則(L)]の[設定]タブで[入力値の種類(A)]を「リスト」に設定
  2. [元の値(S)]で選択項目の入力されたセル範囲を指定

とすることが多いが、[元の値(S)]で指定したセル範囲に項目を続けて入力するだけでは、自動的に範囲は拡張されない。セル範囲の拡張を自動化するには、「名前定義」を活用する。

【手順】

Sheet1のA1:A4に現在リストの選択候補としたいデータが入力されており、A5以降へデータが入力されてもそのリスト範囲を自動拡張するように設定すると仮定する。
まずは[名前定義]で自動範囲拡張のセル範囲を定義する。

  1. [挿入(I)]>[名前(N)]>[定義(D)]で「名前の定義」ダイアログを表示。
  2. [名前(W)]に例えば「LIST」と入力
  3. [参照範囲(R)]へ次の数式を入力
     =INDIRECT("Sheet1!$A$1:$A$"&COUNTA(Sheet1!$A:$A))
  4. [追加(A)]>[OK]。

続いて[入力規則]を設定する。

  1. 入力規則を設定するセル範囲を選択。
  2. [データ(D)]>[入力規則(L)]
  3. [設定]タブの[入力値の種類(A)]で[リスト]を選択
  4. [元の値(S)] ボックス選択し、[F3](「名前貼り付け」ダイアログ表示)
  5. 「LIST」を選択してEnter (直接「=LIST」としても可)
  6. [ドロップダウン リストから選択する] にチェック
  7. [OK]

以上で、Sheet1のA列の行数に応じたリストを入力規則で選択が出来る。

【解説】

=INDIRECT("Sheet1!$A$1:$A$"&COUNTA(Sheet1!$A:$A))

INDIRECT関数
「参照を表現する文字列を元に実際の参照を行う」
COUNTA関数
「データの個数をカウントする」
セル範囲を指定した場合は空白のセル以外をカウントする。
この関数の性質上、リスト内に空白セルがある場合は正確な行数を得ることが出来ない。


前(入力規則) 目次 次(入力規則のリストを設定したセルを分かりやすく)


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送