サイトについて      連絡先   検索

エクセル 2010 INDIRECT 関数:文字列のセル参照を実際のセル参照にする

はじめに

エクセル 2010 の INDIRECT 関数の使い方を紹介します。

INDIRECT 関数は文字列で指定されたセル参照を実際のセル参照にします。

セルの参照を動的に切り替えたいときに使用します。別シートを参照する方法も紹介します。

  • 目次
    • 構文
    • 使用例
    • 解説

構文

INDIRECT(参照文字列)
A1 形式の参照文字列を実際のセル参照に変換します。

INDIRECT(参照文字列, 参照形式)
参照形式で A1 形式にするか R1C1 形式にするかを選択できます。

引数「参照文字列」セルを参照する文字列を指定します。セル参照も指定できます。
引数「参照形式」省略できます。参照形式を A1 形式にするか R1C1 形式にするか切り替えます。
TRUE または省略:A1 形式で参照します。
FALSE:R1C1 形式で参照します。

使用例

セル「B2」を参照する。

=INDIRECT("B2")
6

セル「B2」に入力されているセル名を参照する。

=INDIRECT(B2)
7

セル「B2」の列とセル「C2」の行のセルを参照する。

=INDIRECT(B2&C2)
8

セル「B2」に入力されているセルの範囲を参照する。

=SUM(INDIRECT(B2))
9

R1C1 形式で参照する。

=INDIRECT("R2C2",FALSE)
10

解説

引数「参照文字列」に文字列を指定すると、そのセル名のセル参照が返されます。=INDIRECT("B2")と入力したときは=B2と同じ意味になります。

引数「参照文字列」にセル参照を指定すると、そのセルに入力されているセル名のセル参照が返されます。

名前の定義でオフィスと付けられているのを参照するには=INDIRECT("オフィス")を入力します。

引数「参照文字列」で指定したセルや名前が存在しないときはエラー#REF!になります。

引数「参照形式」を「A1 形式」にするのが一般的です。

別シートを参照する

別シートを参照するにはシート名!セル名を入力します。セル名の前にシート名!を付けると、そのシートのセルを参照できます。

シート「Sheet2」のセル「B2」を参照するには=INDIRECT("Sheet2!B2")のように入力します。

VLOOKUP 関数と組み合わせる

VLOOKUP 関数」の引数「範囲」を動的に切り替える方法を紹介します。

引数「範囲」に「INDIRECT 関数」を入力します。引数「参照文字列」には定義された名前が入力されたセルを指定します。

定義した名前にはセルの範囲が指定されています。

=VLOOKUP(B8,INDIRECT(C8),2,FALSE)
11

セル「C8」は名前の定義された値をリストから選択できるようにしています。

12

これで簡単に範囲を切り替えられます。

  • 目次
    • 構文
    • 使用例
    • 解説