=Offset(C2,0,0,8,1)
このように入力すると、C2セルから0行0列移動した8行1列が範囲となります。
つまり、C2セルからC9セルを範囲指定することになります。
そうです、Offsetとは範囲を指定するための関数なのです!
それでは、C10セルも対象とする場合は、どうするのでしょうか。8を9にすれば範囲は広がります。でも、範囲を変える度に、指定を変えなけらばなりません。
そこで、8のところを COUNTA(C2:C15)とするわけです。そうすると、C2からC15に入力されたセルの数を計算してくれます。その数字が、8に置き換わるわけです。
そして、リスト入力を以下のように指定します。
そうするとリスト入力に表示される項目が、いつも過不足なく表示されるようになります。
※
COUNTA(C2:C15)の部分を
COUNTA($C:$C)―1のようにすると、
列全体を数えるようになるので、
リスト項目がいくら増えても対応できるようになります。
(2009/1/13追記)
Offset関数は、Pibotテーブルのデータエリア範囲指定にも非常に有効な関数です。
僕は、Vlookup,Pibotテーブルとならんで、Offsetはエクセルの秀逸機能の一つだと思っています。
このように入力すると、C2セルから0行0列移動した8行1列が範囲となります。
つまり、C2セルからC9セルを範囲指定することになります。
そうです、Offsetとは範囲を指定するための関数なのです!
それでは、C10セルも対象とする場合は、どうするのでしょうか。8を9にすれば範囲は広がります。でも、範囲を変える度に、指定を変えなけらばなりません。
そこで、8のところを COUNTA(C2:C15)とするわけです。そうすると、C2からC15に入力されたセルの数を計算してくれます。その数字が、8に置き換わるわけです。
そして、リスト入力を以下のように指定します。
そうするとリスト入力に表示される項目が、いつも過不足なく表示されるようになります。
※
COUNTA(C2:C15)の部分を
COUNTA($C:$C)―1のようにすると、
列全体を数えるようになるので、
リスト項目がいくら増えても対応できるようになります。
(2009/1/13追記)
Offset関数は、Pibotテーブルのデータエリア範囲指定にも非常に有効な関数です。
僕は、Vlookup,Pibotテーブルとならんで、Offsetはエクセルの秀逸機能の一つだと思っています。