Excelシート上で使える関数の使い方を説明。
今回は OFFSET関数 について、使い方や活用例を紹介。
【本記事の目標】
OFFSET関数の使い方・活用方法を知ろう
OFFSET関数とは
OFFSET関数とは
指定のセルから指定した数だけ移動した先にあるセル情報を表示する
という機能を持った関数です。
上記の説明だけだとイメージしにくいかもしれませんが、図で書くと下記のようなイメージになります。
上記のように =OFFSET(B2,5,2,3,2) という関数を使うと、D7:E9を指定したのと同じ結果になります。
じゃあこれを何に使うの?というのがイメージが湧かないかもしれませんが、MATCH関数等と組み合わせると、その有用性が見えてきます。
その前にOFFSET関数の使い方を具体的に説明していきます。
この関数を使う場合は5つの情報を指定する必要があります。
OFFSET(参照、行数、列数、高さ、幅)
それぞれ説明していきましょう。
入力情報① 参照
参照では、移動する際のスタート地点のセルを指定します。
ここで指定したセルを開始点として、
「行数」「列数」で指定した数値分だけ上下左右に移動していきます。
入力情報②、③ 行数、列数
行数・列数は、参照で指定したセルから上下左右にいくつ分のセルを移動させるかを指定します。
「いくつ分のセルを移動させるか」を指定するので、ここには数値を入力する必要があります。
任意のセルを入力することも可能ですが、そのセルには数値データが入っている必要があります。
また行数は、プラスの数値を入力すると参照セルから下に移動していきます。
逆にマイナスの数値を入力すると参照セルから上に移動していきます。
一方列数は、プラスの数値を入力すると参照セルから右に移動していきます。
逆にマイナスの数値を入力すると参照セルから左に移動していきます。
使い方の例
=OFFSET(B2,5,2・・・) 数値を直接入力
=OFFSET(B2,A1,A2・・・) 数値が入力されているセルを指定
入力情報④、⑤ 高さ、幅
高さ・幅は、移動した先のセルからどのぐらいの範囲を選択するかを指定します。
「どのぐらいの範囲」を指定するので、ここも数値を入力する必要があります。
任意のセルを入力することも可能ですが、そのセルには数値データが入っている必要があります。
また、この高さと幅は省略することも可能です。
ただし、省略した場合は高さ=1、幅=1が入力されることになるので、1つのセルだけを選択することになります。
また、高さと幅は1以上の数値しか入力することができません。
また範囲が広がる方向も行数・列数と同じように、高さは下方向に、幅は右方向に範囲が広がります。
なので必然的に、行数・列数で指定して移動したセルは、高さ・幅で広げた範囲の左上に来ます。
使い方の例
=OFFSET(B2,5,2) 高さ・幅の入力を省略
=OFFSET(B2,5,2,2) 幅の入力を省略、高さの数値を直接入力
=OFFSET(B2,5,2,A1,A2) 数値が入力されているセルを指定
この関数で得られる値
OFFSET関数は単純にセルを指定しているだけなので、
移動した後のセルに入力されている値がただ表示されるだけです。
ならそのセルを見に行けばいいじゃないか。と思われるかもしれませんが、
例えば非常にたくさんのデータ(100行×100列のデータとか)がある中の、上から57セル目、左から38セル目のデータが欲しい、となったとき、Excelシートをスクロールしながらセルを数えていくのは非常に手間ですよね。
そういった時に、OFFSET関数を使ってたくさんのデータの左上のセルを参照セルとして、行数を57、列数を38と入力すれば、一瞬で指定のセルのデータを取り出すことができるのです。
またOFFSET関数は範囲を指定できる、という点も非常に強みで、
この特徴はほかの関数と組み合わせたときにその効果を発揮します。
例えば 100行×100列のデータ があったとき、上から57セル目、左から38セル目のセルと、そこから5セル下までのデータの中で合計値や最大値を知りたい、となったとき、
SUM関数やMAX関数を使ってそのセルの場所を指定するのも非常に手間ですよね。
そういった時に、OFFSET関数を使って、例えば下記のように
=SUM(OFFSET(A1,57,38,5))
=MAX(OFFSET(A1,57,38,5))
SUM関数やMAX関数とOFFSET関数を組み合わせることで、
計算したいセルの場所を探しに行かなくても、計算式を作ることができます。
コメント