機能
OFFSET関数は、基準とするセルから指定した行数・列数だけ移動した位置にあるセルの参照を返す関数です。基準とするセルから、高さや幅を変えることも可能です。
OFFSET関数は、ほかの関数と組み合わせることで複雑な処理を可能にする関数といえます。引数に関数や セル参照 を使えば、セルの操作を可変にすることも可能です。
記述ルール
OFFSET関数は次のように記述します。
=OFFSET(基準,行数,列数,[高さ],[幅])
第1引数の「基準」には、移動前の基準位置となるセルを指定します。単一のセルだけでなく、セル範囲の指定もできます。
第2引数の「行数」には、移動させたい行数を指定します。正の数で指定すると下方向に、負の数で指定すると上方向に移動します。
第3引数の「列数」には、移動させたい列数を指定します。正の数で指定すると下方向に、負の数で指定すると上方向に移動します。
第4引数の「高さ」には、セル範囲の高さを指定します。セル範囲の高さは、指定した値に変化します。この引数は省略可能です。省略した場合、高さは基準と同じ状態になります。
第5引数の「幅」には、セル範囲の幅を指定します。セル範囲の幅は、指定した値に変化します。この引数は省略可能です。省略した場合、幅は基準と同じ状態になります。
=OFFSET(A1,1,1)
この例の数式では、セルA1を基準にして下方向に1、右方向に1移動します。その結果として、セルB2を参照します。
=OFFSET(A1,0,0,3,2)
この例の数式では、セルA1を基準にして移動はせず、高さを3セル分、幅を2セル分に変更します。その結果として、A1:B3のセル範囲を参照します。
注意点
(1)OFFSET関数は、シートの範囲外を指定するとエラーになります。
=OFFSET(A1,-1,0)
この例の数式では、セルA1から上方向に1移動するように指定していますが、そのようなセルは存在しません。存在しないセルを指定しているため、計算結果がエラーになります。
(2)OFFSET関数は、現在開いていない別のブックの セル参照 (外部参照)はできません。
=OFFSET('C:\Users\Desktop\[Book1.xlsx]Sheet1'!A1,0,1)
別のブックを開いた状態であれば正常に参照できますが、閉じるとエラーになります。別のブックの セル参照 をしたいときは、対象のブックの内容を参照したシートを作成し、そのシートを セル参照 しましょう。
コメント