📊つかえる関数.com

OFFSET(揮発性関数)INDEX(非揮発性)

全バージョン

OFFSET の揮発性による再計算を回避。パフォーマンスが向上

💡

結論: INDEX(非揮発性) への移行をおすすめします

OFFSET の揮発性による再計算を回避。パフォーマンスが向上

書き換え前後の比較

Before: OFFSET(揮発性関数)
=OFFSET(A1,2,3)
-- A1から2行下、3列右のセルを参照
-- 問題点:
-- ・揮発性関数のため、常に再計算される
-- ・大量の OFFSET があるとファイルが重くなる
After: INDEX(非揮発性)
=INDEX(A:D,3,4)
-- A列〜D列の3行目、4列目を参照
-- 改善点:
-- ・非揮発性のため、必要なときだけ再計算
-- ・パフォーマンスが向上

INDEX(非揮発性) のメリット

揮発性関数(常に再計算)でなくなり、パフォーマンスが向上

数式が変更されたときだけ再計算される

大量の数式がある場合、ファイルの動作が軽くなる

INDEX は Excel の全バージョンで使用可能

⚠️ 注意点

⚠️

OFFSET の高度な使い方(可変範囲)は INDEX で置き換えられない場合がある

⚠️

INDEX は行番号と列番号を指定する必要がある

⚠️

OFFSET の方が直感的な場合もあるため、パフォーマンスとのトレードオフ

バージョン対応状況

関数Excel 2016Excel 2019Excel 2021Microsoft 365
OFFSET(揮発性関数)
INDEX(非揮発性)

関連する Q&A

キーワード

OFFSETINDEX揮発性パフォーマンス