OFFSET関数の使い方|基準セルから行・列移動+範囲合計
ここでは、OFFSET関数の基本的な使い方と、具体的な使用例を解説します。
OFFSET関数は比較的なじみの薄い関数なので、引数の意味や指定の仕方に戸惑ってしまうことがあります。
そこで使い方や注意点をしっかり押さえるために、OFFSET関数の基本をまずは確認しましょう。
1.OFFSET関数とはどんな関数か?
始めにOFFSET関数とはどんな関数か、その基本的な動きも確認します。
1-1.OFFSET関数とは
OFFSET関数とは、「指定した参照から指定した行数、列数への参照を返す」関数です。
もっと簡単に言うと、「あるセルを起点に、指定した行数と列数移動した先のセルの値を返す」関数です。
例えば、「セルA10を起点」に、「下に2」、「右に3」と指定して、結果「セルD12の値」を得ることができます。
1-2.OFFSET関数の動きを確認
簡単な例で、OFFSET関数の動きをもう少し見てみましょう。
1-2-1.特定のデータを抜き出す
例えば、「特定のデータを抜き出す」ことができます。
上の表は各社員の氏名や年齢、性別や勤務形態を記載した「社員基本情報一覧」です。
例えばこの表から、特定の社員の基本情報を抜き出すことができます。
№4の社員情報を抜き出した結果が、上です。
これは、INDEX+MATCH関数の組み合わせとほぼ同じ動きになっています。
1-2-2.特定範囲を合計する
OFFSET関数は、「特定の範囲を合計する」こともできます。
上の表は各店の月ごとの売上高を記載した「売上高一覧」です。
例えばこの表から、月の売り上げの合計を、月を可変にして求めることができます。
あるセルで「5月」を選べば5月の、「6月」を選べば6月の合計を表示させることができます。
2.OFFSET関数の使い方
次に、OFFSET関数の使い方を見てみます。
2-1.OFFSET関数の構文(数式の形)
OFFSET関数の数式の形(構文)は、次の通りです。
引数は全部で5種類ありますが、そのうち必須は「参照」と「行数」、「列数」の3つです。
2-2.引数の入れ方
引数で指定する内容は、それぞれ次の通りです。
項目名 | 指定する内容 |
① 参照 |
基準となるセルを指定 |
② 行数 | 行(縦)方向に移動させたいセル数を指定 |
③ 列数 | 列(横)方向に移動させたいセル数を指定 |
④ 高さ(任意) | 移動先で範囲としたい行(縦)方向のセル数を指定 |
⑤ 幅(任意) | 移動先で範囲としたい列(横)方向のセル数を指定 |
2-2-1.「参照」の指定の仕方
参照には、起点になるセル番号を入れます。
例えばセルA10を起点にしたい時、数式は、
=OFFSET(A10,~)
となります。
ちなみに、「$」を付けて絶対参照にすると、数式をコピーしても参照先が分からず便利です(例:$A$10)。
なお、複数範囲を指定すると、#VALUE!エラーになります。
2-2-2.「行数」の指定の仕方
行数には、下方向に移動させたい数を入れます。
数値、もしくは数式で指定します。
例えばセルA10を起点に下方向へ2移動させたい時、数式は、
=OFFSET(A10,2,~)
となります。
2-2-3.「列数」の指定の仕方
列数には、右方向に移動させたい数を入れます。
数値、もしくは数式で指定します。
例えばセルA10を起点に下方向へ2、右方向へ3移動させたい時、数式は、
=OFFSET(A10,2,3)
となります。
2-2-4.「高さ」の指定の仕方
高さには、移動先で範囲として行方向に指定したい数を入れます。
数値、もしくは数式で指定します。
例えばセルA10を起点に下方向へ2、右方向へ3移動させ、縦の範囲を2としたい時、数式は、
=OFFSET(A10,2,3,2,~)
となります。
2-2-5.「幅」の指定の仕方
幅には、移動先で範囲として列方向に指定したい数を入れます。
数値、もしくは数式で指定します。
例えばセルA10を起点に下方向へ2、右方向へ3移動させ、縦の範囲を2、横の範囲を4としたい時、数式は、
=OFFSET(A10,2,3,2,4)
となります。
2-3.数式の作り方
続いて、OFFSET関数の数式を実際に作ってみましょう。
上の表、各店の月ごとの売上高の表から、5月の合計を求めてみます。
以下手順です。
(1)数式バーに「=OFFSET(」と入力して「fx」ボタンを押す
(2)各引数に入力する
(3)OKボタンを押せば完了
例で入力した数式は、次の通りです。
=SUM(OFFSET(A1,1,2,3,1))
これで、5月の3店の売り上げの合計が計算できます。
以上、参考になれば幸いです。
【口コミ・評判のいいExcel本の紹介】