みんなのエクセル表計算
上級

【Excel】INDIRECT関数-指定される文字列への参照を返す関数-


(約文字)

2020-08-24

【Excel】INDIRECT関数-指定される文字列への参照を返す関数-

【Excel】INDIRECT関数-指定される文字列への参照を返す関数-

INDIRECT関数とは

エクセルの「INDIRECT関数」は参照文字列によって指定されるセルに入力されている文字列を介し間接的にセルを指定する関数です。

まず結論

INDIRECT関数を使うと、指定される文字列への参照を返す関数ことができます。まずは参照文字列、参照形式の意味を押さえ、使用例と注意点を確認すると実務で使い分けやすくなります。

  • このページで分かること
  • INDIRECT関数でできることと基本の使いどころ
  • 構文と引数の意味
  • INDIRECT関数の使用例
  • 数式自体を変更しないで、数式内で使用しているセル参照を変更したい

この様な場合に利用するのが「INDIRECT関数」です。

構文と引数

  • 365
  • 2019
  • 2016
  • 2013
  • 2010
  • 2007

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

重要:日付は、DATE関数を使って入力するか、他の数式または他の関数の結果として指定します。 例えば2020年3月13日を入力する場合は、DATE(2020,3,13) を使用します。 日付を文字列として入力した場合、エラーが発生することがあります。

引数 必要性 内容
参照文字列 必須 A1形式の参照、R1C1形式の参照、参照として定義されている名前が入力されているセルへの参照、文字列としてのセルへの参照を指定します。
参照形式 [省略可] 参照文字列で指定されたセルに含まれるセル参照の種類を、論理値(TRUE/FALSE)で指定します。

INDIRECT関数の解説

  • ・参照文字列で適切なセル参照を指定していない場合はエラー値#REF!が返されます。
  • ・参照文字列で他のブックを参照している場合(外部参照)、対象のブックを開いておく必要があり、開いていない場合はエラー値#REF!が返されます(Excel Onlineでは、外部参照は未サポート)。
  • ・参照文字列で行数の上限1,048,576または列数の上限16,384(XFD)の範囲外を参照している場合は、エラー値#REF!を返します。この動作は上限の超過を無視して値を返すExcel2007以前のバージョンとは異なります。
  • ・参照形式にTRUE(真)を指定するか省略すると、参照文字列にはA1形式のセル参照が入力されていると見なされます。
  • ・参照形式にFALSE(偽)を指定すると、参照文字列にはR1C1形式のセル参照が入力されていると見なされます。
出典:Microsoft - Office サポート

INDIRECT関数の使用例

データ データ
B2 1.333
B3 45
高橋 10
5 62

上のデータに対する、セルA2の参照セルの値を返します。

=INDIRECT(A2)

=1.333

上のデータに対する、セルA3の参照セルの値を返します。

=INDIRECT(A3)

=45

上のデータに対する、"B"をA5に含まれる値に結合し、セルB5の参照セルの値を返します。

=INDIRECT("B"&A5)

=62

関連する関数

  • VLOOKUP関数:配列の左端列で特定の値を検索し、対応するセルの値を返す関数
  • MATCH関数:照合の型に従い参照や配列に含まれる値を検索し、検査値と一致する要素の相対的な位置を数値で返す関数
  • INDEX関数:セル参照や配列から指定された位置の値を返す関数
  • INDIRECT関数:参照文字列によって指定されるセルに入力されている文字列を介して、間接的にセルを指定する関数

よくある質問

Q. INDIRECT関数は何をするときに使いますか?

INDIRECT関数は、指定される文字列への参照を返す関数です。 とくに VLOOKUP関数 など近い関数との違いを合わせて押さえると、使い分けしやすくなります。

Q. INDIRECT関数がうまく動かないときは何を確認すればよいですか?

まず 参照文字列、参照形式 の指定方法を見直し、参照範囲、検索値、一致条件、列番号や行番号 を確認してください。

よくある失敗例・エラー対処

INDIRECT関数で期待通りの結果にならないときは、次の点を確認してください。

  • 参照文字列、参照形式 の指定が関数の仕様どおりか確認する
  • 完全一致か近似一致かを意図どおりに選んでいるか確認する
  • 参照範囲の列追加や並び替えでずれていないか確認する

まとめ

このページでは、INDIRECT関数について以下を確認しました。

  • ・INDIRECT関数でできることと基本の使いどころ
  • ・構文と引数の意味
  • ・INDIRECT関数の使用例