Excelのoffset関数とは?使い方をご紹介!

Excelのoffset関数とは?使い方をご紹介!

Microsoft Excelで使用できる関数の一つに「offset関数」というものがあります。セル範囲を参照させる時に便利な関数ですよ。この記事では、Excelのoffset関数とはどういったものか?offset関数の使い方をご紹介しています。


目次[非表示]

  1. Excelのoffset関数(オフセット関数)とは?
  2. Excelのoffset関数の使い方

Excelのoffset関数(オフセット関数)とは?

Excelで使用する関数の中に、特殊な関数である「offset関数(オフセット関数)」というものがあります。通常の関数は一つの値を答えとして出力しますが、offset関数は範囲を答えとします。そのため、指定した位置のセル範囲を参照したいというケースではこのoffset関数を用います。

offsetの意味は「相殺する」ですが、Excelにおけるoffset関数は指定したセル・セル範囲指定した行数と列数を移動した位置にあるセル範囲を返します。offset関数はMATCH関数・SUMIF関数などセル参照を引数として使用する関数と組み合わせるケースが多いです。

Excelのoffset関数の使い方

関数入力画面
それでは、Excelのoffset関数の使い方を説明します。Excelにおけるoffset関数の書式は「=OFFSET(参照,行数,列数,[高さ],[幅])」となります。第1引数の「参照」で基準になるセル・セル範囲の指定を行います。セル・セル範囲以外を指定すると#VALUEエラーとなります。

第2引数の「行数」では、「参照」で指定したセル・セル範囲の左上(基準)から上方向もしくは下方向に移動する距離を数値で指定します。「0」であれば基準と同じ行・「1」であれば1つ下の行・「2」であれば2つ下の行となり、「-1」など負の値を指定することで1つ上の行が指定可能です。

第3引数の「列数」は入力が必須になります。基準のセルから左方向もしくは右方向に移動する距離を数値で指定します。「0」であれば基準と同じ列・「1」であれば基準の1つ右の列・「2」であれば2つ右の列となり、「-1」など負の値を指定することで基準の1つ左の列が指定可能です。

 

第4引数の「高さ」は任意で入力する引数です。結果を返したいセル範囲の行数を数値で指定することができます。こちらに関しては正の値しか指定できないので注意しましょう。「高さ」を入力しなかった場合は「参照」で指定したセル・セル範囲と同じ行数になります。

 

第5引数の「幅」も任意で入力する引数です。結果を返したいセル範囲の列数を数値で指定することができます。こちらも高さ同様に正の値しか指定できません。「幅」を入力しなかった場合も「参照」で指定したセル・セル範囲と同じ列数になります。

マウスでセル範囲を選択し「F4キー」を押して絶対参照を行う
それでは、offset関数を使用してみましょう。画像の例では、「=OFFSET(」まで入力してからマウスでセル範囲を選択して「F4キー」を押して絶対参照を行っています。ここで行数1・列数0・高さ1・幅1、つまり「=OFFSET($C$6:$E$8,1,0,1,1)」と入力しています。
すると、offset関数で指定したセル範囲から目的のセルを参照して結果を返すことができました。

offset関数の使用方法の説明は以上となります。
offset関数は冒頭で説明したようにMATCH関数・SUMIF関数を入れ子にして行数を連動させてVLOOKUPのように検索することができるほか、COUNTA関数と組み合わせることで範囲を可変する範囲にすることも可能ですよ。またINDEX関数の代用としてoffset関数を使うこともできます。=OFFSET(B1,0,0)のように最初の3つの引数だけを指定して高さと幅を設定しなければ、基準となるセルから行数と列数移動を行ったセルの値を返すため擬似的にINDEX関数として使用できます。注意点としては、INDEXは縦と横の位置を1から始めますがoffset関数では0から始めるという点になります。


関連記事