OFFSET関数:基準位置から指定の行数と列数離れたセルの参照を取得する

広告

OFFSET 関数は Excel で用意されている関数の一つで、基準位置から指定した行数と列数だけ離れたセルへの参照を取得します。取得するセル参照の高さと幅を指定することもできます。ここでは Excel における OFFSET 関数の使い方について解説します。

(2021 年 10 月 05 日公開 / 2021 年 10 月 05 日更新)

OFFSET関数の使い方

OFFSET 関数は基準位置から指定した行数と列数だけ離れたセルの参照を取得します。

OFFSET(参照,行数,列数,高さ,幅)

1 番目の引数に基準となるセルを指定します。 2 番目の引数に指定した行数と 3 番目の引数に指定した列数分だけ離れた位置にあるセルへの参照を返します。

下記では基準点として B2 、行数として 3 、列数として 2 を指定しています。結果として D5 セルへの参照が返されます。

OFFSET関数のサンプル(1)

関数の戻り値をセルにそのまま入力した場合は、戻り値として取得した参照先に入力されている値である 92 が表示されます。戻り値はセルへの参照なので、 SUM 関数のように引数にセル参照を指定できる関数の引数として OFFSET 関数を指定できます。

OFFSET関数のサンプル(2)

高さと幅を指定する

省略可能な 4 番目と 5 番目の引数で、取得するセル参照の高さと幅を指定することができます。例えば高さに 2 、幅に 3 を指定した場合、 OFFSET 関数の戻り値として D5:F6 のセル範囲への参照を返します。

OFFSET関数のサンプル(3)

戻り値としてセル範囲への参照を取得する場合は、配列数式を利用する必要があります。まず結果を表示するセル範囲を選択した選択した上で、数式バーに次のように入力してください。

=OFFSET(B2,3,2,2,3)

OFFSET関数のサンプル(4)

入力が終わったら Ctrl+Shift+Enter キーを押してください。あらかじめ選択していたセル範囲に OFFSET 関数が返すセル範囲への参照が表示されます。

OFFSET関数のサンプル(5)

※ 配列数式の使い方については「配列数式の利用方法」を参照されてください。

なお Microsoft 365 の環境であれば、戻り値を表示するセルに対して直接 =OFFSET(B2,3,2,2,3) を入力し、 Enter キーを押すだけで構いません。

OFFSET関数のサンプル(6)

OFFSET関数のサンプル(7)

基準位置にセル範囲を指定する

OFFSET 関数の 1 番目の引数には基準位置を示すセルを指定しますが、セル範囲を指定することもできます。その場合は、セル範囲の先頭のセルが基準位置となります。そしてセル範囲を指定した場合、 OFFSET 関数で高さと幅の引数を省略するとセル範囲の高さと幅が指定されたものとみなされます。

例えば次のように OFFSET 関数を入力したとします。

=OFFSET(B2:D3,3,2)

1 番目の引数にセル範囲 B2:D3 を指定しています。この場合基準位置は B2 となり、高さと幅がそれぞれセル範囲の高さと幅と同じに設定されるため、高さが 2 、幅が 3 と設定されたものと同じ扱いになります。なお高さや幅を引数で指定した場合は引数に指定した値が有効となります。

なお戻り値が複数のセルへの参照になる場合は、配列数式を使用する必要があります。幅と高さを指定した場合と同じように、あらかじめ戻り値を表示するセル範囲を選択した上で、数式バーで式を入力した上で、 Ctrl+Shift+Enter キーを押してください。

OFFSET関数のサンプル(8)

OFFSET関数のサンプル(9)

なお Microsoft 365 の環境であれば、戻り値を表示するセルに対して直接 =OFFSET(B2:D3,3,2) を入力し、 Enter キーを押すだけで構いません。

OFFSET関数のサンプル

それでは実際に OFFSET 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

OFFSET関数のサンプル(1)

取得したセルの参照先に入力されている値を表示する C10 セルを選択し、次のように入力しました。 1 番目の引数に基準位置となる B2 セル、 2 番目の引数に行数が入力されている C8 セル、 3 番目の引数に列数が入力されている C9 セルを指定しました。

=OFFSET(B2,C8,C9)

OFFSET関数のサンプル(2)

Enter キーを押すと、 C10 セルには次のように表示されます。基準位置からデフォルトで入力していた 1 行 1 列離れた C3 セルの参照を取得し、そのセルに入力されている値が表示されました。

OFFSET関数のサンプル(3)

それでは行数を指定する C8 セルに 3 を入力したあとで Enter キーを押すと、 C10 セルには基準位置から 3 行 1 列離れた C5 セルの参照を取得し、そのセルに入力されている値が表示されました。

OFFSET関数のサンプル(4)

関数の挿入を使ってOFFSET関数を入力する

OFFSET 関数を入力する場合に関数の挿入を使って行う方法を試してみます。今回は複数のセルへ参照を戻り値として取得してみます。結果を表示する複数のセルを選択してから、関数の挿入をクリックします。

関数の挿入を使ってOFFSET関数を入力する(1)

「関数の挿入」ダイアログが表示されたら関数名のところで「OFFSET」をクリックしてください。そのあとで「OK」をクリックしてください。

関数の挿入を使ってOFFSET関数を入力する(2)

「関数の引数」ダイアログが表示されたら、 1 番目の引数に基準位置となるセルを指定します。 1 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。

関数の挿入を使ってOFFSET関数を入力する(3)

関数の挿入を使ってOFFSET関数を入力する(4)

ダイアログの 1 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってOFFSET関数を入力する(5)

2 番目から 5 番目までの引数には今回は直接数値を入力します。それぞれ次のように入力しました。

関数の挿入を使ってOFFSET関数を入力する(6)

引数の指定が終わりましたら。最後に「OK」をクリックしますが、今回は配列変数として入力するため Ctrl+Shift キーを押しながら「OK」をクリックしてください。最初に選択したセル範囲に OFFSET 関数からの戻り値が最初に選択したセル範囲にそれぞれ表示されます。

関数の挿入を使ってOFFSET関数を入力する(7)

-- --

Excel における OFFSET 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。