MS-Excel‎ > ‎関数編‎ > ‎

データ範囲を動的に指定する

連続しているデータ範囲を動的に指定できます。

例:OFFSET(sheet1!$A$1,0,0,COUNTA(sheet1!$A:$A),COUNTA(sheet1!$1:$1))

上の例で、sheet1のA1セルから連続している行列の範囲が指定されます。

次のような構造になります。
 OFFSET関数の1番目の引数に、データ範囲の基点を指定。
 4番目の引数に、その列に含まれるデータ数をCOUNTA関数で数えて、範囲の行数として与える。
 5番目の引数に、その行に含まれるデータ数をCOUNTA関数で数えて、範囲の列数として与える。
よって、範囲内のセルに空白があっても問題有りませんが、A1セルの含まれる行または列に空白があると最後のセルまで範囲に含まれません。
実用的には、SUM関数の合計、V(H)LOOKUP関数やセル範囲の名前の定義などで、範囲を動的に指定する場合に使えるでしょう。
範囲がA1以外から始まる場合はCOUNTA関数の範囲も合わせて変更してください。
A2から始まる場合は次のように成ります。

例:OFFSET(sheet1!$A$2,0,0,COUNTA(sheet1!$A$2:$A$65536),COUNTA(sheet1!$A$2:$IV$2))