Excel上級者となると、表の構成によって起点となるセルからスライドさせたセルの値が必要となるケースがあります。
そんなときに柔軟に動いてくれる便利な関数のひとつとしてOFFSET関数があげられます。
今回はOFFSET関数で指定のセルから指定の行数・列数をスライドした先のセルの値を参照する方法について解説していきます。
OFFSET関数の基本構成
OFFSET(参照,行数,列数,[高さ],[幅])
参照
起点となるセルを指定します。
行数
「参照」で指定したセルから移動する行数を整数で指定します。
「参照」のセルと同じ行数は「0」、「1」以降のプラスの値は下方向、「-1」以降のマイナスの値は上方向へ移動します。
列数
「参照」で指定したセルから移動する列数を整数で指定します。
「参照」のセルと同じ列数は「0」、「1」以降のプラスの値は右方向、「-1」以降のマイナスの値は左方向へ移動します。
高さ
省略可能です。(省略した場合は「0」とみなされます)
「参照」で指定したセルから指定の行数・列数を移動後のセルを起点に範囲選択をする際に指定します。
高さとは範囲の行数のことで、整数で指定します。
幅
省略可能です。(省略した場合は「0」とみなされます)
「参照」で指定したセルから指定の行数・列数を移動後のセルを起点に範囲選択をする際に指定します。
幅とは範囲の列数のことで、整数で指定します。
[高さ]と[幅]は別記事で詳細を解説する予定です。
使用例
今回はA2セルを起点とし、C7セルで指定している行数、C8セルで指定している列数分スライドした値をC9セルに返したいとします。
OFFSET関数内の構成は、[参照]はA2セル、[行数]はC7セル、[列数]はC8セルをそれぞれ指定してあげます。
すると、今回の例ではC7セルには「1」、C8セルには「2」が入力されているため、A2セルから1行分と2列分スライドした先のC3セルの値である「5」が返ります。
行数・列数のスライドイメージ
OFFSET関数は慣れるまで移動した先のセルをイメージしにくいと思いますので、参考までに[参照]で指定したセルから行と列で移動するイメージを下図のようにまとめました。
基本は行であれば下方向、列であれば右方向に動くことが想定されていますのでそれぞれプラスの値になっています。(VLOOKUP関数やHLOOKUP関数はそれぞれプラスでないと作動しないのと共通の考え方です。)
まとめ
OFFSET関数はマニアックな関数ですが、可変性は非常に高いのであらゆるところで活躍します。
たとえば、VLOOKUP関数やHLOOKUP関数ではできない指定セルからのマイナス方向での検索や、SUM関数やAVERAGE関数の計算範囲を可変にするなどです。
今回はOFFSET関数の基本的な使い方を解説しましたが、後日上記の応用編をご紹介していきます。