OFFSET関数で合計範囲を自由に変える
OFFSET関数でベスト5の売上件数を求めよ
OFFSET関数は合計範囲を変更できる
OFFSET関数の使い方
書式 :OFFSET(基準,行数,列数,高さ,幅)
機能 :OFFSET関数は、基準のセルあるいは、セル範囲から
指定した行数・列数分をシフトさせた位置にある高さと幅の
セルやセル範囲のオフセット参照を返します。
Offset 関数は なかなか理解しにくい関数の一つです。
というのも関数は通常 、一つの戻り値を返しますが、オフセット関数の場合は範囲を情報として返すからです。
例えば自分の家を基準として、5軒後ろの1軒右隣の家は誰 どこの家みたいな感じです。
SUM関数と一緒に使えば、合計範囲を自由に変更できるということになります。
Excelバージョン:
(サンプルファイルは、こちらから 関数技10回サンプルデータ)
合計範囲を自由に変える「OFFSET関数」
【問題】ベスト5の売上件数を求めよ。
全員の売上合計を出したいときは、SUM関数を使えばいいですね。
全員の売上合計を出したいときは、SUM関数を使えばいいですね。
![Offset 関数を 使う前のサンプル画像](kan/offset/offset_01.png)
しかし、Xが一定ではなく、上位3位までの合計とか、5位までの合計を出したいというように、Xが一定ではなく、合計するセルの範囲を可変にしたいときは、SUM関数のネストに検索・行列関数の
OFFSET(オフセット)関数を使います。
![Offset 関数の書式を理解するための画像](gazo2013/kan/offset.png)
OFFSET(基準, 行数, 列数, 高さ, 幅)
■ある一つのセルを基準として、引数で指定した行数、列数を移動した位置を
始点として、引数で指定した高さ、幅のセル範囲を求める関数です。
引数には「基点、移動行数、移動列数、高さ、幅」を指定します。
OFFSET関数で合計範囲を変更する
OFFSET(基準, 行数, 列数, 高さ, 幅) で範囲を指定します。
「行数」と「列数」を指定することは少ないです。
「基準」と「高さ」「幅」を覚えておきましょう。
「行数」と「列数」を指定することは少ないです。
「基準」と「高さ」「幅」を覚えておきましょう。
![OFFSET関数で合計範囲を変更する画像](kan/offset/offset_02.png)
OFFSET関数を使って1位から5位まで5人分の件数を合計しましょう。
OFFSET(C2,,,5,1)
C2が「基準」になります。
そして「高さ」に5、「幅」に1を指定。
つまり、C2セルを基準として高さ(行)が5、幅(列)が1のセル範囲を指定したことになります。これは、C2:C6セル範囲のことです。
では、6位までの範囲は、 OFFSET(C2,,,6,1)
では、7位までの範囲は、 OFFSET(C2,,,7,1)
では、8位までの範囲は、 OFFSET(C2,,,8,1)
というようになりますね。
OFFSET(C2,,,5,1)
C2が「基準」になります。
そして「高さ」に5、「幅」に1を指定。
つまり、C2セルを基準として高さ(行)が5、幅(列)が1のセル範囲を指定したことになります。これは、C2:C6セル範囲のことです。
では、6位までの範囲は、 OFFSET(C2,,,6,1)
では、7位までの範囲は、 OFFSET(C2,,,7,1)
では、8位までの範囲は、 OFFSET(C2,,,8,1)
というようになりますね。
では、A13セルに高さ(行)を入力して参照するようにしましょう。
![SUM 関数の引数の入れ子として offset 関数を使うサンプルの画像](kan/offset/offset_03.png)
![SUM 関数の引数の入れ子として offset 関数を使うサンプルの画像](kan/offset/offset_03.png)
OFFSET関数のポイント
ここで注目したいのは、「高さ」を変更することでセル範囲の行数を変えられるということです。
他のセルに行数に該当する数値を入力し、引数「高さ」でそのセルを参照すれば、セルの数値を変えるだけで合計範囲を変更できるようになります。
他のセルに行数に該当する数値を入力し、引数「高さ」でそのセルを参照すれば、セルの数値を変えるだけで合計範囲を変更できるようになります。
A13セルに入れる数字を変えることで、合計範囲を変更できます。
式は、見やすくするために、0を省略していますが、
どちらで入力しても結果は同じです。
OFFSET(C2,,,5,1)=OFFSET(C2,0,0,5,1)
式は、見やすくするために、0を省略していますが、
どちらで入力しても結果は同じです。
OFFSET(C2,,,5,1)=OFFSET(C2,0,0,5,1)
OFFSET関数の式の意味を図にしました。
A1を基準にして、行数、列数が0ということは、始点はA1です。
A1を基準にして、行数、列数が0ということは、始点はA1です。
![Offset 関数の書式の意味を図で解説した画像](kan/offset/offset_04.png)
次の例では、同じく基準はA1ですが,下に0行、1列移動したセルが始点となります。
![](kan/offset/offset_05.png)
![](kan/offset/offset_05.png)