この記事では、OFFSET関数の基本的な使い方からMATCH関数と組み合わせる方法まで、わかりやすく解説します。では、さっそく特定のセルや範囲を参照することができるOFFSET関数の使い方を見ていきましょう!
OFFSET関数とは?
OFFSET関数とは、Excelで動的な範囲を参照するために使用される関数です。基準となるセルから指定された行数と列数の移動先のセルや範囲を取得することができます。
OFFSET関数の基本構文
OFFSET関数の基本構文は以下の通りです。
=OFFSET(参照, 行数, 列数, [高さ], [幅])
引数 | 引数の説明 | 例 |
参照 | 基準となるセルを指定 | A1、A3など |
行数 | 基準のセルから上下に移動する数 | 基準セルの行から下に1行ずらすなら、1を指定 |
列数 | 行数で移動したセルから左右に移動する数 | 行数で下に1つずらして、→に2つなら、2を指定 |
高さ | 返される範囲の高さ | 省略可能で、デフォルトは1 |
幅 | 返される範囲の幅 | 省略可能で、デフォルトは1 |
文章で読むと難しく感じるかもしれません。図で見てみると「案外簡単かも?」と思うので、次の章で図を用意しました。ぜひ見てください!
OFFSET関数の使い方
OFFSET関数は、基準となるセルから指定した行数へ移動、さらに列数に移動した先のセル範囲を返すことができます。この章では、より理解を深めるために図を使用して、OFFSET関数の使い方をわかりやすく解説していきます。
OFFSET関数を図でわかりやすく解説
図内の関数の移動は次の通りになります。
- 基本となるセルをA1で指定し
- A1セルの1行下のA2セルに移動
- A2セルの2列右へ移動
高さや幅は省略可能なので、今回は省略しています。OFFSET関数の使い方はわかったけど、「実務で使う場面ある?」と感じる方もいらっしゃると思います。
実際ビジネスシーンでOFFSET関数を使用する際は、他の関数と組み合わせて使用する場面が多いです。
まずは、どんな関数と組み合わせて使用することができるのか?を見ていきましょう!
個人的にオススメのOFFSET関数の活用方法
基本的にOFFSET関数は、別の関数と組み合わせて使用することが多いので、組み合わせて使うことが出来る関数をいくつかご紹介します。
OFFSET関数と別の関数の組み合わせ
OFFSET関数と組み合わせて使用することができるExcelの関数を一部置いておきます。ぜひご活用ください。
OFFSET関数と○○関数 | 使用例 |
SUM関数 | =SUM(OFFSET(A1, 0, 0, 5, 1)) |
AVERAGE関数 | =AVERAGE(OFFSET(A1, 0, 0, 5, 1)) |
MATCH関数 | =OFFSET(A1, MATCH("検索値", A:A, 0)-1, 1) |
COUNTA関数 | =OFFSET(A1, 0, 0, COUNTA(A:A), 1) |
INDEX関数 | =INDEX(OFFSET(A1, 0, 0, 5, 5), 3, 2) |
この中でも特に個人的にオススメのなのが、指定した値が範囲内で何番目にあるかを返すことができるMATCH関数です。実際にどのようなことが実現できるのかを次の章でわかりやすく解説します。
OFFSET関数とMATCH関数の組み合わせ方法
OFFSET関数とMATCH関数を組み合わせることで、特定の値を基準に動的な位置を参照することができます。基本構文は以下の通りです。
OFFSET関数とMATCH関数の具体例
具体例では、特定の商品の在庫数を動的に参照してみます。次のような表を用意しました。C2に店舗名、C3に商品名を入力すると対象の店舗の商品の在庫個数がC4に紐づくようにします。
=OFFSET(B6,MATCH(C2,B7:B10,0),MATCH(C3,C6:F6,0))
B6: 基準セルを指定。ここでは表の左上のセルを基準としています。
MATCH(C2,B7:B10,0): 列Bの範囲B7:B10から「店舗4」を探し、その行番号を取得します。この場合、MATCH関数は4を返します(「店舗4」は範囲内の4番目の位置にあるため)。
MATCH(C3,C6:F6,0): 範囲C6:F6から「商品D」を探し、その列番号を取得します。この場合、MATCH関数は4を返します(「商品D」は範囲内の4番目の位置にあるため)。
OFFSET(A1, 4, 4): 基準セルB6から4行下、4列右のセルを参照します。結果として、セルF10が返されます。これが店舗4の商品Dの在庫数である280を示します。
ちなみに、商品名や店舗名を変更した場合でも自動的に在庫個数が紐づくようになっています。試しに店舗名を「店舗2」に変更した結果が次の通りです。
ちゃんと紐づいていますね。よかったです。ぜひ皆さんもご活用ください!
まとめ
この記事では、OFFSET関数の基本的な使い方から応用まで、わかりやすく図を用いて解説をしました。皆さんが理解できていたら嬉しいです!
OFFSET関数は、単体で使用する場面より、他の関数と組み合わせて使用する場面のほうが多いです。実際に私も実務では単体で使用することはないです(笑)
とくに個人的におすすめな組み合わせが、MATCH関数とOFFSET関数になります。一度関数を組んでしまえば、あとは項目を変更するだけで動的にデータを抽出することが可能なので便利です!