Clicky

【初心者向け】Googleスプレッドシート「OFFSET関数」入門

GoogleSpreadsheet(スプレッドシート)
GoogleSpreadsheet(スプレッドシート)
この記事は約2分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める

Googleスプレッドシートを使っていると、「このセルから少しズレた場所を取りたい」という場面が出てきます。

そんなときに使うのが OFFSET関数 です。


OFFSET関数とは?

基準となるセルから、指定した分だけズラした位置のセルや範囲を取得する関数です。

イメージとしては、

  • 「ここを基準に」
  • 「下に〇行、右に〇列」
  • 「その位置を取り出す」

という動きです。


基本構文

=OFFSET(セル参照, オフセット行, オフセット列, [高さ], [幅])

各項目の意味

項目内容
セル参照スタート地点
オフセット行何行ズラすか(下がプラス / 上がマイナス)
オフセット列何列ズラすか(右がプラス / 左がマイナス)
高さ取得する行数(省略可)
取得する列数(省略可)

まずはシンプルな例

例①:1つのセルを取得

OFFSET(A2,1,1)

意味:

  • A2を基準に
  • 1行下 → A3
  • 1列右 → B3

B3の値を取得


範囲を取得する例(重要)

例②:2×2の範囲を取得

OFFSET(A2,3,4,2,2)

意味:

  • A2を基準に
  • 3行下 → A5
  • 4列右 → E5
  • そこから
    • 高さ2行
    • 幅2列

E5:F6 の範囲を取得


よくある使い方(実務で重要)

①「最新データを取得する」

例えば、データがどんどん下に追加される場合

OFFSET(A1, COUNTA(A:A)-1, 0)

→ 一番下のデータを取得


②「可変範囲を作る」

グラフや集計でよく使う

OFFSET(A1,0,0,COUNTA(A:A),1)

→ データ数に応じて範囲が自動で伸びる


注意点(ここが重要)

① #REF! エラー

  • シートの外に出るとエラー
    • 上に行きすぎ
    • 左に行きすぎ

② 循環参照に注意

OFFSETは「動的」なので、

  • 自分自身を参照すると
  • 無限ループになり

#REF! エラー


③ 重くなりやすい

OFFSETは再計算が多い関数です。

大量データでは:

  • 動作が重くなる
  • シートが遅くなる

代替として覚えておくべき関数

OFFSETは便利ですが、最近はこれも重要です:

  • INDEX
  • FILTER
  • QUERY

特に INDEX は軽くて高速です。


OFFSETが向いている場面

  • 基準からの相対位置を取りたい
  • 範囲サイズを動的に変えたい
  • グラフの自動更新

まとめ

OFFSET関数は一言でいうと:

「位置をズラしてデータを取る関数」


最低限これだけ覚えればOK

  • 行は「縦移動」
  • 列は「横移動」
  • 高さと幅で「範囲指定」

次のステップ

OFFSETを理解したら、次はこれをやると一気にレベルが上がります:

  • INDEXと組み合わせる
  • AppSheetでの応用(仮想列)
  • 自動集計・ダッシュボード作成