ExcelのINDIRECT関数とは?使い方や例題を解説
目次
はじめに
Microsoft Excelの中で、INDIRECT関数に関して紹介します。
割と上級者が扱う関数と言え、理解の難易度は高いですが、使いこなすと、世界が広がります。
INDIRECT関数に関して
Microsoft社の公式サイトでは、次のように述べられています。
指定される文字列への参照を返します。 セル参照はすぐに計算され、結果としてセルの内容が表示されます。 INDIRECT 関数を使うと、数式自体を変更しないで、数式内で使用しているセル参照を変更することができます。
>指定される文字列への参照を返します。
とは、どういことでしょうか。
INDIRECT関数に文字列を渡すと、その文字列が参照するセルの値を返します。たとえば、INDIRECT(“A1”)は、=A1(A1を参照した状態)を返します。
文字列A1がセル参照に切り替わるイメージです。
(「>セル参照はすぐに計算される」ため、直ぐセル内容が表示されるため、見かけ上では「参照を返す」ように見えない)
このようにして、INDIRECT関数は、セル参照を文字列として指定することによって、他のセルの値を参照することができるようにします。
平たく言うと、INDIRECT関数は、文字列形式を参照形式に変換する関数のようなイメージです。
INDIRECTは、“in”(否定の接頭語)と”direct”(直接)という2つの英単語から構成され、「間接(直接でない)」という意味を持ちます。
つまり、INDIRECT関数は、直接参照を使用する代わりに、文字列または変数で参照を指定することによって、
間接的にセルを参照する方法を提供する関数であると解釈できます。
まだ、なかなか具体的なイメージが掴んかもしれん。
今後、随時記事を作成していく所存じゃ。
サンプルデータを交えて、具体例を説明するから焦るのではないぜよ。
INDIRECT関数の文法
型
=INDIRECT(参照文字列,[参照形式]) ※[]は省略可です
参照文字列を、[参照形式]に変換する関数です。
そのため、[参照形式]に変換したい文字列を参照文字列に指定すればいいだけです。
Excelの関数にヒントに、そのまま書かれています。
何度もお伝えしていますが、Excel関数にはぞれぞれ型があり、型通りに物事が進んでいきます。
そのため、さほど難しくないのです。
型の重要性と型の調べ方は、次の記事で解説しています。
引数
- 参照文字列
- 参照文字列とは、文字列から参照形式へ変換したい文字列です。 必ず指定します。
- [参照形式]
- A1形式 or R1C1形式のどちらの参照形式にしたいかを選択します。省略可能です。省略した場合はR1C1形式になります。
入力値 | 参照形式 |
---|---|
TRUE or 省略 | A1形式 |
FALSE | R1C1形式 |
INDIRECT関数の例題
例えば、以下のようなテーブル(A1:D3)があったとします。
A | B | C | D | |
---|---|---|---|---|
1 | 100 | 200 | 300 | 400 |
2 | 500 | 600 | 700 | 800 |
3 | 900 | 1000 | 1100 | 1200 |
INDIRECT関数の記述方法と実行結果です。
=INDIRECT("B2") // セルB2の値 (600) を返す
=INDIRECT("C1") // セルC1の値 (300) を返す
=INDIRECT("A3") // セルA3の値 (900) を返す
=INDIRECT(“B2”) の実行結果は、600です。
INDIRECT関数によって、参照文字列「B2」を参照形式「=B2」に変換し、B2セルの値を出力しているためです。
解答付きサンプルデータ
最後に
本記事では、INDIRECT関数について解説しました。
では、わざわざ、直接参照ではなく、
INDIRECT関数で間接参照して、文字列形式を参照形式に変換するメリットは何でしょうか。手間が増えただけに思えます。
まずは、INDIRECT関数自体のお作法を中心に解説しました。
今後、INDIRECT関数が活用することのメリットに触れていきます。
INDIRECT関数のより深みを理解できると思います。
楽しみにしていてください。
参考記事
Excel関数の原理原則系の記事
本記事の読みやすさをさらに向上させるために、Excel関数に関する原理原則についてまとめた記事を紹介します。