この記事で分かること

  • INDIRECT関数が文字列を実際のセル参照に変換する仕組み
  • 整数設例で、選択したシート名に応じて数値を動的に取得する様子を検算
  • 揮発性関数であることによる再計算負荷と、シート名変更に弱いという弱点
  • INDEX関数など代替設計との使い分け

30秒で分かる定義

INDIRECT関数とは、文字列として書かれたセル番地やシート名を、実際に参照可能なセル参照へと変換する関数です。読み方:いんだいれくと。「A1」という文字列を渡せばA1セルの値を、「Sheet2!A1」という文字列を渡せばSheet2のA1セルの値を返します。ダッシュボードで選択したシート名や期間を文字列として組み立て、その組み立てた文字列を実際の参照に変換する用途で使われる、動的参照の代表的な手段です。

なぜ実務で重要なのか

財務モデリング・経営管理では、期ごとに分かれたシート(FY24・FY25・FY26等)から、ドロップダウンで選んだ期のデータだけをダッシュボードに表示したい場面があります。INDIRECTを使えば、選択セルの文字列とシート内のセル番地を組み合わせて動的に参照先を切り替えられます。PE・FASの投資先モニタリングでも、同じフォーマットの月次シートが積み上がっていく中で、任意の月を選んで参照する仕組みに使われます。

計算式(または仕組み)

=INDIRECT(選択セル & “!B2”)

選択セル(例:A1)に文字列「FY25」が入っていれば、この数式は文字列「FY25!B2」を組み立て、それを実際の参照として評価し、FY25シートのB2セルの値を返します。シート名にスペースや数字から始まる文字が含まれる場合は、一重引用符で囲む必要があります(=INDIRECT("'"&A1&"'!B2"))。INDIRECTは、OFFSETと同じく揮発性関数に分類され、ワークシート内のどこかが変更されるたびに再計算が走ります。

整数設例で確認する

設例(架空数値、単位百万円)。3枚のシート「FY24」「FY25」「FY26」のB2セルにそれぞれ売上高900、1,000、1,150が入力されています。選択セルA1にドロップダウンで「FY25」と入力すると、=INDIRECT(A1&"!B2")はFY25シートのB2を参照し、1,000を返します。選択をA1=「FY26」に切り替えると、同じ数式が今度は1,150を返します。

ここで前年比成長率を検算すると、(1,150-1,000)÷1,000=15%となり、シート切替に連動して成長率の表示も自動更新されることが確認できます。

リスク配分への影響

INDIRECTは文字列の組み立てミスがあってもエラーメッセージが分かりにくく、意図しないシートや空のセルを参照してしまうリスクがあります。またシート名を実際に変更(リネーム)しても、通常の参照と異なりExcelが自動で追随してくれないため、文字列部分を手動で書き換えない限り参照が壊れたままになるという操作上のリスクを抱えます。揮発性関数であるため、行数の多いモデルで多用すると無関係なセルの変更のたびに再計算が発生し、モデル全体の速度低下という形でリスクが顕在化します。

財務モデル・Excelでの使い方

  • 期間選択ダッシュボード:=INDIRECT(選択期間&"!B2")で、選んだ期のシートから主要指標を引用する
  • 同じ構造の複数シートを串刺し集計する場合は、INDIRECTより3D参照=SUM(FY24:FY26!B2)のような形式)の方が非揮発性で高速な代替になることが多い
  • 再計算負荷が気になるモデルでは、計算方法の設定を手動に切り替え、必要なときだけF9で再計算する運用も検討する
  • シナリオ切替の実装としてINDIRECTを使う設計は、シナリオ切替方式の比較で他の方式(CHOOSE関数、データテーブル)と並べて検討するのが望ましい
  • モデル全体が重いと感じたら、重い財務モデルの高速化の手順に沿って揮発性関数の使用箇所を洗い出す

この用語をExcelで「組める」状態にする

ドロップダウンで選んだ期・シートに応じて数値を動的に切り替えるダッシュボードを、揮発性のリスクを理解した上で実装できるようになる。

Excel実務シリーズの教材で実装する →

実務家が確認するポイントとよくある誤解

誤解1:「INDIRECTなら何でも動的に参照できて安全」→ 正しくは、シート名の変更や表記ゆれ(全角半角の違い等)に弱く、文字列と実体がずれた瞬間にエラーになります。

誤解2:「揮発性関数は数個ならモデルに影響しない」→ 正しくは、数個であれば影響は軽微ですが、月次モデルでダッシュボード全体に多用すると再計算の遅さとして体感されるようになります。

確認ポイント:受け取ったモデルが重い、あるいはシートをリネームした直後にエラーが増えた場合は、数式内でINDIRECTを検索し使用箇所を洗い出します。

日本実務での扱い

本関数の仕様自体に法令上の定めはありませんが、投資銀行・PEファンドのモデリング標準では、OFFSET・INDIRECTなど揮発性関数の使用を制限するルールを社内で設けている会社が少なくありません。これは会計基準ではなく各社が経験的に積み上げてきた設計上の作法であり、モデルレビューの場で使用箇所の洗い出しと非揮発性の代替への置き換えが求められることがあります(2026年8月時点)。

面接・モデルテストで問われるポイント

Q:INDIRECT関数の欠点を挙げ、代替手段を説明してください。
「INDIRECTは揮発性関数であるため、参照先が変わっていなくてもワークシート内のどこかが変更されるたびに再計算され、大規模モデルでは速度低下の原因になります。またシート名を実際にリネームしても文字列部分は自動更新されず参照が壊れるリスクがあります。同じ構造の複数シートを集計するだけであれば3D参照、動的な範囲選択であればINDEX関数の組み合わせが非揮発性の代替になります。」

深掘りでは、「INDIRECTを使わざるを得ない場面はあるか」(例:ユーザーがドロップダウンで自由に選んだシート名を文字列的に組み立てて参照する場面)が問われます。

よくある質問(FAQ)

Q. INDIRECT関数とVLOOKUP・INDEX/MATCHはどう違いますか?
A. VLOOKUP・INDEX/MATCHは既存の表の中から条件に合う値を検索する関数です。INDIRECTは検索ではなく、文字列そのものをセル参照やシート参照に変換する関数で、シートをまたいだ動的な参照を組み立てる用途に特化しています。

Q. INDIRECTで別ブック(別のExcelファイル)を参照できますか?
A. 技術的には可能ですが、参照先のブックを開いていないと正しく機能しない制約があります。ブックを閉じたまま参照したい場合は、あらかじめリンクを設定した通常の外部参照の方が安定します。

出典・参考(2026-08確認)

  • 本記事はExcelの一般機能に関する解説であり、法令・会計基準に基づく出典は該当しません(Microsoft Excel公式ヘルプ「INDIRECT関数」を参考にしています)。

※本記事は教育目的の一般的な解説であり、法務・税務・投資助言ではありません。設例は理解のための架空数値です。

共有: