Excelの関数について(8) OFFSET関数

Excelの関数について第8回目です。

今回は、OFFSET関数というこれまた便利な関数についてです。

OFFSET関数は基準から指定した行数、列数の分だけ移動した位置にあるセルの値を取り出す関数です。

それでは、OFFSET関数を見ていきましょう。

OFFSET関数

はじめにOFFSET関数の書式を見ていきましょう。

OFFSET関数の書式

OFFSET(基準, 行数, 列数, [高さ], [幅])

基準

基準となるセルまたは範囲を指定します。

行数

基準のセルからどれだけの行(距離)をシフトするかを指定します。正の数を指定すると上方向に、負の数を指定すると下方向にシフトします。例えば、3を指定すると基準のセルから下の方向に3行シフトします。-3を指定すると基準のセルから上の方向に3行シフトします。基準に範囲を指定した場合、左上の隅のセルが基準となります。

列数

基準のセルからどれだけの列(距離)をシフトするかを指定します。正の数を指定すると右方向に、負の数を指定すると左方向にシフトします。例えば、3を指定すると基準のセルから右の方向に3列シフトします。-3を指定すると基準のセルから左の方向に3列シフトします。基準に範囲を指定した場合、左上の隅のセルが基準となります。

高さ

基準セルのシフト後の範囲の大きさ(高さ)を正の数で指定します。省略をすると基準で指定した範囲と同じ高さになります。

基準セルのシフト後の範囲の大きさ(幅)を正の数で指定します。省略をすると基準で指定した範囲と同じ幅になります。

OFFSET関数の使用例

書式を読んでいただいても、イメージがわかないと思います。

ということで、いつもどおり、OFFSET関数の使用例を見てみましょう。

図1をご覧ください。数字が羅列された表があります。この表を使って、OFFSET関数を試してみましょう。

図1:OFFSET関数(例1)

例1)B3セルを基準として、下に3行、右に2列移動したセルの値を求める。

OFFSET関数の書式は次の通りでしたね。

OFFSET(基準, 行数, 列数, [高さ], [幅])

基準はB3セルなので、B3になります。

行数は、下に3行なので3を入力して、列数は右に2列なので2を入力します。

高さと幅は移動後のセル範囲の大きさになりますが、今回は移動した後のセルの値を求めるので、それぞれ1を入力します。

以上をまとめると次のようになりますね。

=OFFSET(B3,3,2,1,1)

結果はどうでしょうか。B3を基準として、下に3行、右に2列シフトしたD6セルの値である「3」が取り出せていることがわかります。

例2)B3セルを基準として、下に3行、右に2列移動したのち、移動後のセルを左上隅とする2×2の範囲の和を求める

図2:OFFSET関数(例2)

OFFSET(基準, 行数, 列数, [高さ], [幅])

基準はB3セルなので、B3になります。

行数は、下に3行なので3を入力して、列数は右に2列なので2を入力します。

ここまでは、例1と同じですね。さて、今回は、移動後のセルを左上隅とする2×2の範囲の和を求めるので、高さと幅の引数をそれぞれ2とします。

つまり、OFFSET(B3,3,2,2,2)となります。この結果は、D6:E7という結果になります。D6:E7はD6を左上隅とする2×2の範囲ですね。

今回の問題は、D6を左上隅とする2×2の範囲の和ですから、最終的な式は次のようになります。

=SUM(OFFSET(B3,3,2,2,2))

出力結果を確認すると「21」となり、確かにD6:E7の範囲の和(3+9+8+1=21)となっていることが確認できます。

ちなみに、下記の式は次のように考えるとわかりやすいとおもいます。

=SUM(OFFSET(B3,3,2,2,2))

OFFSET(B3,3,2,2,2)はD6:E7なで、=SUM(OFFSET(B3,3,2,2,2))は、

=SUM(D6:E7)

ということになります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする