OfficeType

Excel~OFFSET関数でセル、セル範囲を取得しよう~エクセル

エクセルで基準セルから指定された行数、列数だけシフトした位置のセルやセル範囲を参照するOFFSET関数について説明します。

  • OFFSET関数の書式はOFFSET(基準, 行数, 列数, [高さ], [幅]) になります。
  • 基準は、シフトの開始位置となるセルやセル範囲を指定します。
  • 行数は基準から何行シフトするかを指定します。
  • 列数は基準から何列シフトするかを指定します。
  • [高さ]は範囲を取得したい時に、基準から行数、列数シフトしたセルから下に何行分かを指定します。
  • [幅]は範囲を取得したい時に、基準から行数、列数シフトしたセルから右に何列分かを指定します。

下の画像の例でセルD2にセルA4から1行、1列シフトしたセルのデータを表示したい場合はセルD2に=OFFSET(A4,1,1)と入力しEnterを押します。

基準はセルA4から1行、1列シフトしたセルのデータを表示したいのでA4になります。

行数はセルA4から1行シフトさせたいので1になります。

列数はセルA4から1列シフトさせたいので1になります。

[高さ]、[幅]は今回は単一セルを参照したいので省略しています。

つまりセルD2に=OFFSET(A4,1,1)と入力しEnterを押すとセルA4から1行、1列シフトしたセルはセルB5なのでB5の文字列"ばなな"が表示されます。

SUM関数との組み合わせ

下の画像の例でセルA2にデータの表の青いセルA5を基準として黄色範囲の足し算の結果を表示したい場合はセルA2に=SUM(OFFSET(A5,1,1,2,2))と入力しEnterを押します。

SUM関数の中にOFFSET(A5,1,1,2,2)が入っています。これはセルA5を基準に1行、1列シフトしたセルB6から下方向に2行、右方向に2列の範囲を意味するので黄色範囲のセルB6からセルC7の範囲になります。SUM関数に範囲を指定すると範囲内のセルを全て足し算するのでセルA2に足し算の結果28が表示されます。