Excel INDIRECT関数の使い方|文字列のセル番地を参照する(別シート・動的参照)

INDIRECT関数は、文字列で表されたセル参照を直接参照するための強力な関数です。このブログでは、INDIRECT関数の構文や使い方、活用方法について詳しく解説します。

目次

関数について

INDIRECT関数は、文字列として表されたセル参照を評価し、そのセルを参照するための関数です。これにより、セル参照を動的に変更することができます。

関数の説明

INDIRECT関数は、文字列で表されたセル参照を指定し、そのセルを参照します。これにより、セル参照を動的に変更できます。動的なセル参照を作成する際に便利です。

対応バージョン

INDIRECT関数は、Excelの古いバージョンから最新のバージョンまで、すべてのバージョンで利用可能です。

構文と引数

=INDIRECT(参照文字列, [参照形式])

引数説明
参照文字列セル参照を表す文字列を指定します。
[参照形式]オプションです。参照の形式を指定します。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

サンプルデータダウンロード

【Excel】練習用サンプルデータ(例題)をダウンロード(無料)

INDIRECT関数の使い方のコツと注意点

INDIRECT関数は、「B5」のように文字列で書いたセル番地を、実際のセル参照として読み取ります。文字列は「&」でつなげて組み立てられるので、参照先を、数式の外から切り替えられるのが特長です。

よく使う書き方

  • =INDIRECT("B"&A2):A2が5なら、B5を参照します。行番号をセルで切り替えられます。
  • =INDIRECT("Sheet2!B5"):別シートのセルを参照します。シート名に空白があるときは、=INDIRECT("'売上 一覧'!B5") のように、シングルクォーテーションで囲みます。
  • =INDIRECT(A1&"!B5"):A1に書いたシート名の、B5を参照します。A1を書き換えると、参照するシートが切り替わります。

エラーと注意点

  • 文字列がセル番地として読み取れないとき(例:「りんご」)や、参照先がないときは、#REF! になります。
  • 閉じている別のブックのセルは、参照できません(#REF!)。
  • INDIRECT関数は、シートが再計算されるたびに更新される「揮発性関数」です。大きな表で何千回も使うと、動作が重くなることがあります。
  • 行や列を挿入・削除しても、文字列で書いた番地は、自動では直りません。直接のセル参照と違い、ずれに気づきにくいので注意しましょう。

参照先を切り替えたい場面では、INDIRECTのほかに、位置を数えて取り出すINDEX関数や、OFFSET関数も使えます。変更に強い表にしたいときは、INDEXも検討してみてください。

関連のある関数

まとめ

INDIRECT関数は、文字列で表されたセル参照を直接参照するための強力な関数です。このブログを参考にして、INDIRECT関数を活用して動的なセル参照を作成し、Excelの効率的なデータ処理を行いましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次