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

Excelの初心者向け入門解説
公開日:2013年5月以前 最終更新日: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 365 Insider ・Microsoft「Office のサポート」



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

MATCH関数(範囲から値を検索し一致する位置)

・MATCH関数の書式 ・ワイルドカード ・MATCH関数の使用例:完全一致
INDEX関数(範囲から指定されたセル)
・INDEX関数の書式 ・INDEX関数の使用例 ・INDEX関数の応用例
OFFSET関数(行数と列数シフトした位置のセル範囲)
・OFFSET関数の書式 ・OFFSET関数の解説 ・OFFSET関数の使用例 ・OFFSET関数の応用例
INDIRECT関数(参照文字列で間接的にセルを指定)
EDATE関数(月数だけ前後の日付)
・EDATE関数の書式 ・EDATE関数の使用例 ・EDATE関数の応用例
EOMONTH関数(月数だけ前後の月の最終日)
開始日から指定された月数だけ前または後の月の最終日を返します。EOMONTH関数の書式 EOMONTH(開始日,月) 開始日 起算日を表す日付を指定します。月 開始日から起算したい月数を指定します。正の数を指定すると、起算日より後の日付を返し、負の数を指定すると、起算日より前の日付を返します。
WEEKDAY関数(曜日に変換)
日付に対応する曜日を返します。既定では、戻り値は1(日曜)から7(土曜)までの範囲の整数となります。引数の「種類」により曜日に対する数値は変わりますが、数値としては常に1~7となります。WEEKDAY関数の書式 WEEKDAY(シリアル値,[種類]) シリアル値 曜日を求める日付を指定します。
WEEKNUM関数(その年の何週目)
日付がその年の第何週目に当たるかを返します。WEEKNUM関数の書式 WEEKNUM(シリアル値,[週の基準]) シリアル値 日付を指定します。日付は、DATE関数を使って入力するか、他の数式または他の関数の結果を指定します。
COUNTBLANK(空白セルの個数)
指定された範囲に含まれる空白セルの個数を返します。COUNTBLANK関数の書式 COUNTBLANK(範囲) 範囲に含まれる空白セルの個数を返します。範囲 空白セルの個数を求めるセル範囲を指定します。
AVERAGE関数(引数の平均値)
引数の算術平均値を返します。AVERAGE関数の書式 AVERAGE(数値1,[数値2],...) 算術平均値を返します。数値1 平均値を求める1つ目の数値、セル参照(セル範囲)または配列を指定します。
AVERAGEIF関数(検索条件に一致する平均値)
・AVERAGEIF関数の書式 ・AVERAGEIF関数の使用例 ・ワイルドカードを使ったAVERAGEIF関数の使用例


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

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門




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


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


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