EXCEL のINDIRECT関数でセル参照を自在に操る方法

こんにちは、阿久梨絵です!
EXCEL で複数のシートやセルを扱っていると、「セルの場所を文字列で指定したい」「参照先を動的に切り替えたい」と思うことがあります。そんなときに便利なのが INDIRECT 関数です。この記事では、基本の使い方から応用例までを丁寧に解説します。

INDIRECT関数とは?

INDIRECT 関数は、文字列として指定したセル参照を、実際のセル参照として扱う関数です。

INDIRECT(参照文字列)

参照文字列:セル番地や名前付き範囲を文字列で指定
・結果として、その文字列が指すセルの値を取得

基本例:セル番地を文字列で指定

=INDIRECT(“A1”)

→ セル A1 の値を取得します。

=INDIRECT(“B” & 3)

B3 の値を取得列と行を動的に組み合わせ可能。

シートをまたいだ参照

複数シートを扱うとき、シート名を変数として使えるのが便利です。

=INDIRECT(“‘” & A1 & “‘!B2”)

・A1 に「Sheet2」と入力されていれば、Sheet2!B2 を参照
シート名にスペースがある場合は `’` で囲むのがポイント

名前付き範囲との連携

名前付き範囲を文字列で指定して参照することも可能です。

=SUM(INDIRECT(“売上範囲”))

「売上範囲」という名前付き範囲を参照して合計
・名前を変更するだけで参照先を切り替えられる

実務での活用シーン

シーン活用方法
月別シートの集計シート名をセルに入力し、INDIRECT で参照先を切り替える
動的なセル参照行番号や列番号を変数として使い、柔軟な参照を実現
名前付き範囲の切り替え複数の範囲を文字列で指定して、関数の対象を変更

注意点

INDIRECT は 参照先が存在しないとエラーになります
セルの移動や削除に弱い (参照が固定される)
計算負荷が高くなることがあるので、大量データでは注意

まとめ

INDIRECT 関数は、 EXCEL のセル参照を文字列ベースで柔軟に操作できる強力なツールです。特に、シートをまたいだ集計や、動的な参照が必要な場面で重宝します。少しクセはありますが、使いこなせば作業効率が大きく向上しますよ!
阿久梨絵でした!

Verified by MonsterInsights