みんなのエクセル表計算
上級

【Excel】OFFSET関数-指定した行数と列数だけシフトした位置のセルやセル範囲への参照を返す関数-


(約文字)

2020-08-27

【Excel】OFFSET関数-指定した行数と列数だけシフトした位置のセルやセル範囲への参照を返す関数-

【Excel】OFFSET関数-指定した行数と列数だけシフトした位置のセルやセル範囲への参照を返す関数-

OFFSET関数とは

エクセルの「OFFSET関数」は指定した行数と列数だけシフト(オフセット)した位置のセルやセル範囲への参照を返す関数です。

まず結論

OFFSET関数を使うと、指定した行数や列数だけシフトした位置のセルやセル範囲への参照を返す関数ことができます。まずは参照基準、行数の意味を押さえ、使用例と注意点を確認すると実務で使い分けやすくなります。

  • このページで分かること
  • OFFSET関数でできることと基本の使いどころ
  • 構文と引数の意味
  • OFFSET関数の使用例

返される参照は「単一セル」「セル範囲」への参照です。 返される参照の行数(高さ)と列数(幅)を指定することも可能です。

構文と引数

  • 365
  • 2019
  • 2016
  • 2013
  • 2010
  • 2007

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

引数 必要性 内容
参照基準 必須 オフセットの基準を指定します。セルorセル範囲を指定する必要があります。それ以外を指定した場合は、エラー値#VALUE!が返されます。
行数 必須 参照基準の左上隅のセルを上方向or下方向へシフトする距離を行数単位で指定します。5を指定すると、参照基準の左上隅のセルから5行下方向へシフトします。正の数を指定すると下方向へシフトし、負の数を指定すると上方向へシフトします。
列数 必須 参照基準の左上隅のセルを左方向or右方向へシフトする距離を列数単位で指定します。5を指定すると、参照基準の左上隅のセルから5列右方向へシフトします。正の数を指定すると右方向へシフトし、負の数を指定すると左方向へシフトします。
[高さ] [省略可] オフセットした参照の高さを行数で指定します。正の数を指定する必要があります。
[幅] [省略可] オフセットした参照の幅を列数で指定します。正の数を指定する必要があります。

OFFSET関数の解説

  • ・参照する行or列がワークシート端より外側になる場合は、エラー値#REF!が返されます。
  • ・高さor幅を省略すると、参照基準のセル範囲と同じ行数or列数であると見なされます。
  • ・OFFSET関数は、実際にセルを移動したり選択対象を変更せずにセル参照を返すだけの関数です。OFFSET関数は、セル参照を引数として使う関数と共に使います。例えば、数式SUM(OFFSET(C6,1,2,3,4)) では、セルC6を基準とし、セルC6から下方向に1行、右方向に2列シフトし、高さが3行で、幅が4列のセル範囲の値を集計します。
出典:Microsoft - Office サポート

OFFSET関数の使用例

A列 B列 C列 D列
1行目 4 16 11 7
2行目 8 3 1 12
3行目 13 10 5 9
4行目 2 14 15 18
5行目 6 0 19 17

上のデータに対する、セルA5の値を表示します。

=OFFSET(C3,2,-2,1,1)

=6

上のデータに対する、セル範囲C3:D5を合計します。

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

=83

関連する関数

  • INDEX関数:セル参照や配列から指定された位置の値を返す関数
  • MATCH関数:照合の型に従って参照又は配列に含まれる値を検索し、検査値と一致する要素の相対的な位置を数値で返す関数

よくある質問

Q. OFFSET関数は何をするときに使いますか?

OFFSET関数は、指定した行数や列数だけシフトした位置のセルやセル範囲への参照を返す関数です。 とくに INDEX関数 など近い関数との違いを合わせて押さえると、使い分けしやすくなります。

Q. OFFSET関数がうまく動かないときは何を確認すればよいですか?

まず 参照基準、行数 の指定方法を見直し、参照範囲、検索値、一致条件、列番号や行番号 を確認してください。

よくある失敗例・エラー対処

OFFSET関数で期待通りの結果にならないときは、次の点を確認してください。

  • 参照基準、行数 の指定が関数の仕様どおりか確認する
  • 完全一致か近似一致かを意図どおりに選んでいるか確認する
  • 参照範囲の列追加や並び替えでずれていないか確認する

まとめ

このページでは、OFFSET関数について以下を確認しました。

  • ・OFFSET関数でできることと基本の使いどころ
  • ・構文と引数の意味
  • ・OFFSET関数の使用例