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