※本ページにはプロモーション(広告)が含まれています
文字列で表現したセル参照を、実際のセル参照として解釈するExcel関数です。シート名や範囲を動的に切り替える場面で活躍します。
詳しい解説
INDIRECT関数は、文字列形式で記述された参照アドレスを、実際のセル参照に変換するExcel関数です。構文は `=INDIRECT(参照文字列, [参照形式])` で、第2引数は省略可能(既定TRUEでA1形式、FALSEでR1C1形式)です。
最大の特徴は、シート名やセル範囲を動的に組み立てられることです。たとえば `=INDIRECT("'"&A1&"'!B2")` と書けば、A1セルに入力されたシート名のB2セルを参照できます。年月別シートを切り替える集計表や、選択したカテゴリーごとに参照先リストが変わるドロップダウン(入力規則の連動リスト)などで重宝します。
ただしINDIRECT関数はボラタイル関数(揮発性関数)の一種で、ブック内の何かが変わるたびに再計算されます。多用すると動作が重くなるため、大量データには向きません。また、INDIRECT関数で参照しているセルは「数式の依存関係」が文字列の中に隠れているため、Ctrl+[ などで参照先をたどれません。代替策として、Microsoft 365のLET関数やXLOOKUP関数で書き換えるとパフォーマンスが向上する場面も多いです。
シート名「2026年4月」「2026年5月」が並んでいる集計ブックで `=INDIRECT("'"&A1&"'!B10")` を入力し、A1にシート名を切り替えると、対応するシートのB10セルの値を呼び出せます。連動ドロップダウンの基本テクニックです。
別の呼び方
INDIRECT
間接参照
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!