関数の種類 |
検索/行列関数 |
書式 |
OFFSET(基準,行数,列数,高さ,幅) |
OFFSET関数の使い方
OFFSET関数は基準のセル又はセル範囲から指定した行数・列数分をシフトさせた位置にある高さと幅のセルやセル範囲のオフセット参照を返します。
高さ・幅を省略した場合は基準で指定したセル範囲と同じ行数・列数とみなされます。
オフセット参照したセルにデータが含まれていない場合は0が返されます。
引数の指定方法 |
基準 |
基準となるセルまたはセル範囲の参照を指定 |
行数 |
基準からシフトさせる行数を数値で指定
負の数を指定した場合は上方向へシフトし、正の数の場合は下方向へシフトします |
列数 |
基準からシフトさせる列数を数値で指定
負の数を指定した場合は左方向へシフトし、正の数の場合は右方向へシフトします |
高さ |
オフセット参照の行数を正の数で指定(省略可能) |
幅 |
オフセット参照の列数を正の数で指定(省略可能) |
B1に =OFFSET(A1,1,0)を入力すると以下の表の結果となります。
B1の=OFFSET(A1,1,0)では基準にA1セルを指定し、行数に1、列数に0、
高さ・幅は省略しています。
よって、A1セルから1行下方向にシフトしたB2セルの値"Excel"がB1に返されます。
|
A |
B |
1 |
エクセル |
Excel |
2 |
Excel |
|
3 |
VBA |
|
D1に =OFFSET(C1,0,-1)を入力すると以下の表の結果となります。
D1の=OFFSET(C1,0,-1)では基準にC1セルを指定し、行数に0、列数に-1、
高さ・幅は省略しています。
よって、D1セルにはC1セルから左方向へ1列シフトしたセルB1の値"Excel"が返されます。
|
A |
B |
C |
D |
1 |
エクセル |
Excel |
VBA |
Excel |
OFFSET関数とSUM関数を組み合わせて使用する
以下では月別の営業利益を表示し何ヶ月分かの営業利益の合計を計算する表です。
C7に =SUM(OFFSET(B8,-C6,0):B7)を入力すると以下の表の結果となります。
まず、OFFSET関数の中身を見てみると
基準にB8セルを指定し、行数に-C6、列数に0、高さ・幅は省略しています。
行数にセル参照C6を指定しているので行数には-3が指定され、5月営業利益額が記入されいるB5を返します。
そしてOFFSET関数の後に、:B7が入力されいるので、B5:B7のセル範囲が参照され、
SUM関数によりB5:B7の範囲の合計2000000が返されます。2000000は5月から7月の3ヶ月間の合計です。C6の数値を変更することにより合計する範囲を変更する事ができます。
|
A |
B |
C |
1 |
1月営業利益 |
1200000 |
|
2 |
2月営業利益 |
500000 |
|
3 |
3月営業利益 |
700000 |
|
4 |
4月営業利益 |
800000 |
何ヶ月分を
合計しますか? |
5 |
5月営業利益 |
300000 |
6 |
6月営業利益 |
1100000 |
3 |
7 |
7月営業利益 |
600000 |
2000000 |
|
|