Excel 基準セルからの距離、高さと幅を指定してセルの内容を取得(OFFSET関数)

2020年5月8日

OFFSET関数はセル指定を行う関数です。

基準セルより何行、何列離れたセルのどれだけの幅・高さかを引数として指定します。

単独セルの値を返すこともセル範囲を返すことも可能です。

仕様

=OFFSET(参照,行数,列数,高さ,幅)
引数省略時の値説明
参照省略不可基準となるセル範囲を指定。
行数省略不可参照から移動する行数を指定。
列数省略不可参照から移動する列数を指定。
高さ参照のセル範囲と同行数結果の行数を指定。
参照のセル範囲と同列数結果の列数を指定。
各引数の詳細

高さと幅を1とした場合、単独セルとなり値をそのまま表示できます。

高さか幅を2以上にするとセル範囲となり

他の関数に組み込んでいない場合、スピルになります。

スピル未対応のバージョンでは#VALUEエラーになります。

使用例

基準セル(参照)を背景黄色としています。

単独セルを取得する例

行数と列数を両方とも0にすると結果が基準セルとなり、例では1が表示されます。

行数と列数に0を指定する例
行数と列数に0を指定する例

行数と列数を両方とも1にすると基準セルより

1列右、1行下の指定になり、この例では5が表示されます。

行数と列数に1を指定
行数と列数に1を指定

負の値を指定した場合、左上の指定となり、この例ではCが表示されます。

行数と列数に-1を指定
行数と列数に-1を指定

セル範囲を取得する例

基準セルから右1、下1に移動し、高さ2、幅2を指定しています。(背景色青の範囲)

この場合、セルが単独でないため表示が#VALUEエラーとなります。

スピル未対応のバージョンの場合)

セル範囲を取得する例:そのまま表示してエラー
セル範囲を取得する例:スピルとして表示

スピル対応済みのバージョンであればスピルになります。

セル範囲を取得する例:スピルとして表示
セル範囲を取得する例:スピルとして表示

OFFSET関数の結果は他の関数に組み込むことが可能です。

先ほどの例をSUM関数の範囲として組み込むと

背景色青の範囲の合計である28が表示されました。

セル範囲を取得する例:SUM関数に組み込み
セル範囲を取得する例:SUM関数に組み込み

関連記事

活用例

プルダウンで先頭の候補に空白を入れる方法

プルダウンで不要な空白を表示させない方法

複数のプルダウンを連動させる方法

オートフィルやコピーに強いセル指定の方法(OFFSET関数とROW・COLMUN関数の組み合わせ)

表の行・列を入れ替える(TRANSPOSE関数)

配列数式を使わずに

行列を入れ替えるために

OFFSET関数を使用します。

関数の仕様と使い方の記事一覧