2025/7/19
セル参照関数の違い (INDEX, OFFSET, INDIRECT)【エクセル】

はじめに
エクセルには、番号やアドレスを指定し、該当するセル値を取得 / データを抜き出す関数 が複数存在します。
ここでは、以下について扱います:
- 関数の使用例
- 比較表
- 使い分けの目安
関数の使用例
セル参照関数である INDEX
, OFFSET
, INDIRECT
関数の
比較表
関数名 | 主な用途 【入力値】 | 再計算頻度 ※1 | 複数セル取得の可否 | 参照シートの動的切り替え | 注意事項 |
---|---|---|---|---|---|
INDEX | 範囲内の指定位置の値を取得 【範囲 + 行 / 列番号】 | ✅低い | 🟡一部可 ※2 | ❌不可 | 取得できるセルは、 指定範囲内に制限される。 |
OFFSET | 基準セルからの相対的な範囲を参照 【基準セル + 行 / 列数 + 高さ / 幅】 | ❌高い | ✅可 | - | |
INDIRECT | 文字列で指定したセルを参照 【アドレス(文字列)】 | ✅可 | 他のセルの削除/移動に影響されないが、 シート名変更に弱い(他シート参照時)。 |
※1 OFFSET
, INDIRECT
関数は、再計算頻度が高いため、多用するとパフォーマンス低下を招く。使用回数が数百以上だと影響がでる可能性が高い。
※2 行 / 列数 = 0で、行 / 列全体の取得が可能。矩形状で複数セルを取得する場合は、動的数値配列 / CSE が必要。
使い分けの目安
セル参照関数の使い分けの目安は、
- 基本
INDEX
- 取得範囲を動的に変えたい、基準位置から左 / 上方向を参照したい ※
OFFSET
- 動的に参照シートを切り替えたい
INDIRECT
※ INDEX
では、指定範囲の左上を基準として行 / 列番号を指定するが、