
INDIRECT関数の機能と便利な使い方
ExcelのINDIRECT関数の機能と便利な使い方について、初心者にもわかりやすく順を追って説明します。
①INDIRECT関数とは?
機能
INDIRECT関数は、セル参照を文字列として指定し、そのセル参照を基に値や範囲を取得する関数です。
書式
INDIRECT(参照文字列, [参照形式])
参照文字列
参照したいセルや範囲を文字列で指定します。
参照形式
省略可能で、TRUE(既定値)はA1形式、FALSEはR1C1形式を指定します。
Excel 関数テクニック Office 2021/Microsoft 365対応 ↓
②基本的な使い方
❶セルを文字列で参照
例
セルA1に値100があり、セルB1に以下の式を入力します。
=INDIRECT("A1")
結果: 100
INDIRECT関数が文字列"A1"をセル参照として認識し、その値を取得します。
❷動的なセル参照
セル参照を動的に変更したい場合に便利です。
例
セルA1~A10の範囲を合計する際、範囲を別のセルで指定します。
・C1: "A1:A10"(参照範囲を文字列として記入)
・D1: =SUM(INDIRECT(C1))
・結果: セルA1~A10の合計値が表示されます。
❸シートを跨いだ参照
別のシートを参照する場合、文字列でシート名を動的に変更できます。
例
・シート名Sheet1に値50があるセルA1を参照
・B1: "Sheet1!A1"
・C1: =INDIRECT(B1)
・結果: 50
よくわかる Excel 2021 基礎 Office 2021/Microsoft 365対応 ↓
③INDIRECT関数の便利な使い方
❶動的な範囲参照
データ範囲が変動する場合、別セルで範囲指定を管理すると便利です。
例: 合計範囲をD1に"A1:A5"と入力し、D2に=SUM(INDIRECT(D1))と入力します。
これにより範囲変更が簡単にできます。
❷シート名を動的に参照
複数シートを切り替えながら計算する場合、シート名を動的に切り替えることができます。
例
・A1: "Sheet1"(シート名を指定)
・B1: =INDIRECT(A1 & "!B1")
・Sheet1のB1セルを参照。
❸条件付きのセル参照
条件に応じて参照先を変更したい場合にも使えます。
例
・A1に"A2"または"B2"を記入し、C1に=INDIRECT(A1)と入力。
A1の値に応じて参照先が切り替わります。
(関数使用例ファイルDL特典付き)できるポケット 時短の王道 Excel関数全事典 改訂3版 2021/2019/2016/2013 & Microsoft 365対応 ↓
④注意点と問題点
❶INDIRECT関数は「動的参照」なので非効率になりやすい
問題点
INDIRECTは常に再計算されるため、大量のデータや複雑な参照に使用すると処理速度が低下します。
対策
必要最小限で使用し、固定参照を活用する。
❷参照が壊れやすい
問題点
指定する文字列が間違っているとエラー(#REF!)が発生します。
対策
入力ミスを防ぐために&や補助セルを活用。
❸外部ファイル参照は使えない
INDIRECT関数は外部ファイルの参照に対応していません。
Excel 関数テクニック Office 2021/Microsoft 365対応 ↓
⑤ポイントのまとめ
INDIRECT関数は動的な参照を実現し、範囲やシート名を自由に切り替えるのに便利です。
ただし、使いすぎると計算効率が悪化するため、固定参照や他の関数(INDEX、OFFSETなど)との組み合わせを検討するのが重要です。
実際に使用するときは、以下を意識してください
❶セル参照を動的にしたい場合に有効。
❷間違った文字列参照を防ぐ工夫をする。
❸大規模なデータセットでは慎重に使用。
必要ならさらに具体例を追加します!