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

Excelの初心者向け入門解説
最終更新日:2020-05-03

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


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


INDIRECT関数の書式

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

参照文字列

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

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

参照形式

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

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

INDIRECT関数の使用例

INDIRECT関数の単純な使用例

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


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

エクセル Excel INDIRECT関数

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

=INDIRECT(B1)

=INDIRECT("A1")

=A1

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

INDIRECT関数の他シート参照例

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

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

エクセル Excel INDIRECT関数

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


=INDIRECT(A1&"!"&B1)

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

=INDIRECT("SHeet2!A1")

=Sheet2!A1

INDIRECT関数の範囲指定例

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

=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セルの文字列によって合計値は変化します。


ワークシート関数一覧

Excelワークシート関数の一覧と解説です、詳細解説ページへのリンクもあります。Excel2007までの関数です。2010以降追加の関数一覧 ワークシート関数の一覧(2010以降) 引数、関数構文については Excelシートの複雑な計算式を解析するVBAの関数構文 文字列関数…27 日付と時刻の関数…21 情報関数…17 論理関数…7 検索/行列関数…1…

ワークシート関数の一覧(2010以降)
Excelワークシート関数の一覧と解説です。Excel2010以降に追加された関数一覧になります。2007までのワークシート関数一覧ワークシート関数の一覧 引数、関数構文については Excelシートの複雑な計算式を解析するVBAの関数構文 Excel2010で追加されたワークシート関数 Excel2013で追加されたワークシート関数 関数名 種類と説明 …



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

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


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

import文(パッケージ・モジュールのインポート)|Python入門(9月24日)
例外処理(try文)とexception一覧|Python入門(9月23日)
リスト内包表記|Python入門(9月22日)
Pythonの引数は参照渡しだが・・・|Python入門(9月21日)
lambda(ラムダ式、無名関数)と三項演算子|Python入門(9月20日)
関数内関数(関数のネスト)とスコープ|Python入門(9月18日)
関数の定義(def文)と引数|Python入門(9月18日)
組み込み関数一覧|Python入門(9月17日)
辞書(dict型)|Python入門(9月16日)
入力規則への貼り付けを禁止する|VBA技術解説(9月16日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




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


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



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