エクセル入門
INDIRECT関数(参照文字列で間接的にセルを指定)

Excelの初心者向け入門解説
最終更新日:2021-06-24

INDIRECT関数(参照文字列で間接的にセルを指定)


INDIRECT関数は、指定される文字列への参照を返します。
参照文字列によって指定されるセルに入力されている文字列を介して、間接的なセルの指定を行います。
参照文字列で指定されるセル参照を返しますが、セル参照はすぐに計算され、結果としてセルの内容が表示されます。


INDIRECT関数の書式

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

参照文字列

参照として定義されている名前が入力されているセルへの参照、または文字列としてのセルへの参照を指定します。

参照文字列に適切なセル参照を指定していないと、エラー値 #REF! が返されます。
参照文字列で他のブックを参照している場合(外部参照)、そのブックを開いておく必要があります。
参照先のブックを開いていない場合、INDIRECT 関数は、エラー値 #REF! を返します。

参照形式

参照文字列で指定されたセルに含まれるセル参照の種類を指定します。

TRUE(1)を指定するか省略
参照文字列には A1 形式のセル参照が入力されていると見なされます。
FALSE(0)を指定
参照文字列には R1C1 形式のセル参照が入力されていると見なされます。

INDIRECT関数の使用例

INDIRECT関数の単純な使用例

A1セルに"東京都"、A2セルに"A1"と入っていたとして

=INDIRECT(A2)
この結果は、「東京都」となります。

エクセル Excel INDIRECT関数

この数式を順にみていくと、

=INDIRECT(A2)

=INDIRECT("A1")

=A1

このような単純な使用例はあまりないでしょう。

INDIRECT関数の他シート参照例

実際に多い使用場面として良くあるのは、シート名をセル値で可変参照させる場合でしょう。
A1セルに"Sheet2"、A2セルに"A1"と入っているとします。

=INDIRECT(A1&"!"&A2)
この結果は、Sheet2のA1セルの値が出力されます。

エクセル Excel INDIRECT関数

この数式を順にみていくと、

=INDIRECT(A1&"!"&A2)

=INDIRECT("SHeet2"&"!"&"A1")

=INDIRECT("SHeet2!A1")

=Sheet2!A1

INDIRECT関数の範囲指定例

セル範囲を指定する参照文字列をINDIRECTに指定することで範囲を可変に参照することができます。
A列に数値が入っていて、C1セルにA2、C2セルにA5と入っているとします。

=SUM(INDIRECT(C1&":" &C2))
この結果は、A2~A5の合計になります。

エクセル Excel INDIRECT関数

この数式を順にみていくと、

=SUM(INDIRECT(C1&":" &C2))

=SUM(INDIRECT("A2"&":" &"A5"))

=SUM(INDIRECT("A2:A5"))

=SUM(A2:A5)

もちろん、A2セルとA5セルの文字列によって合計値は変化します。


Officeサポート INDIRECT関数


ワークシート関数一覧
・文字列関数 ・日付と時刻の関数 ・情報関数 ・論理関数 ・検索/行列関数 ・数学/三角関数 ・統計関数 ・財務関数 ・エンジニアリング関数 ・データベース関数 ・アドイン/オートメーション ・キューブ ・Microsoft Office のサポート

ワークシート関数の一覧(2010以降)
・Excel2010で追加されたワークシート関数 ・Excel2013で追加されたワークシート関数 ・Excel2016/Excel2019で追加されたワークシート関数 ・Excel2021で追加されたワークシート関数 ・Excel2021以降の365で追加されたワークシート関数 ・Microsoft「Office のサポート」



同じテーマ「エクセル入門」の記事

MATCH関数(範囲から値を検索し一致する位置)
INDEX関数(範囲から指定されたセル)
OFFSET関数(行数と列数シフトした位置のセル範囲)
INDIRECT関数(参照文字列で間接的にセルを指定)
EDATE関数(月数だけ前後の日付)
EOMONTH関数(月数だけ前後の月の最終日)
WEEKDAY関数(曜日に変換)
WEEKNUM関数(その年の何週目)
COUNTBLANK(空白セルの個数)
AVERAGE関数(引数の平均値)
AVERAGEIF関数(検索条件に一致する平均値)


新着記事NEW ・・・新着記事一覧を見る

TOROW関数(配列を横1行の配列にして返す)|エクセル入門(2022-10-31)
TOCOL関数(配列を縦1列の配列にして返す)|エクセル入門(2022-10-31)
CHOOSECOLS関数(配列から複数の指定された列を返す)|エクセル入門(2022-10-29)
CHOOSEROWS関数(配列から複数の指定された行を返す)|エクセル入門(2022-10-29)
WorksheetFunctionの効率的な使い方とスピル新関数の利用|VBA入門(2022-10-27)
VSTACK関数(配列を縦方向に順に追加・結合)|エクセル入門(2022-10-25)
HSTACK関数(配列を横方向に順に追加・結合)|エクセル入門(2022-10-25)
LAMBDA以降の新関数の問題と解説(配列操作関数編)|エクセル入門(2022-10-24)
LAMBDA以降の新関数の問題と解説(ヘルパー関数編)|エクセル入門(2022-10-24)
LAMBDA以降の新関数の問題集|エクセル入門(2022-10-24)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.マクロって何?VBAって何?|VBA入門
9.エクセルVBAでのシート指定方法|VBA技術解説
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ