ExcelのINDIRECT関数とは?使い方や例題を解説

この記事では、Microsoft ExcelのINDIRECT関数について、使い方や例題を詳しく解説しています。INDIRECT関数は、文字列形式をセル参照形式に変換することができる関数であり、間接参照をすることができます。また、A1形式とR1C1形式のどちらを使うか指定することができ、具体例を通じて理解を深めることができます。

はじめに

Microsoft Excelの中で、INDIRECT関数に関して紹介します。
割と上級者が扱う関数と言え、理解の難易度は高いですが、使いこなすと、世界が広がります。

INDIRECT関数に関して

Microsoft社の公式サイトでは、次のように述べられています。

指定される文字列への参照を返します。 セル参照はすぐに計算され、結果としてセルの内容が表示されます。 INDIRECT 関数を使うと、数式自体を変更しないで、数式内で使用しているセル参照を変更することができます。

INDIRECT 関数 – Microsoft サポート

>指定される文字列への参照を返します。

とは、どういことでしょうか。
INDIRECT関数に文字列を渡すと、その文字列が参照するセルの値を返します。たとえば、INDIRECT(“A1”)は、=A1(A1を参照した状態)を返します。
文字列A1がセル参照に切り替わるイメージです。
(「>セル参照はすぐに計算される」ため、直ぐセル内容が表示されるため、見かけ上では「参照を返す」ように見えない)

このようにして、INDIRECT関数は、セル参照を文字列として指定することによって、他のセルの値を参照することができるようにします。

INDIRECT関数に文字列を渡すと、その文字列が参照するセルの値を返します。たとえば、INDIRECT("A1")は、=A1(A1を参照した状態)を返します。
文字列A1がセル参照に切り替わるイメージです。
 (「>セル参照はすぐに計算される」ため、直ぐセル内容が表示されるため、見かけ上では「参照を返す」ように見えない)

このようにして、INDIRECT関数は、セル参照を文字列として指定することによって、他のセルの値を参照することができるようにします。


平たく言うと、INDIRECT関数は、文字列形式を参照形式に変換する関数のようなイメージです。


平たく言うと、INDIRECT関数は、文字列形式を参照形式に変換する関数のようなイメージです。

INDIRECTは、“in”(否定の接頭語)と”direct”(直接)という2つの英単語から構成され、「間接(直接でない)」という意味を持ちます。
つまり、INDIRECT関数は、直接参照を使用する代わりに、文字列または変数で参照を指定することによって、
間接的にセルを参照する方法を提供する関数であると解釈できます。

まだ、なかなか具体的なイメージが掴んかもしれん。
今後、随時記事を作成していく所存じゃ。
サンプルデータを交えて、具体例を説明するから焦るのではないぜよ。

INDIRECT関数の文法


=INDIRECT(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">参照文字列</span>,<span data-color="#7bdcb5" style="background: linear-gradient(transparent 60%,rgba(123, 220, 181, 0.7) 0);" class="vk_highlighter">[参照形式]</span>) ※[]は省略可です
Code language: HTML, XML (xml)

 

参照文字列を、[参照形式]に変換する関数です。

そのため、[参照形式]に変換したい文字列を参照文字列に指定すればいいだけです。

Excelの関数にヒントに、そのまま書かれています。



何度もお伝えしていますが、Excel関数にはぞれぞれ型があり、型通りに物事が進んでいきます。
そのため、さほど難しくないのです。
型の重要性と型の調べ方は、次の記事で解説しています。

引数
  • 参照文字列
    • 参照文字列とは、文字列から参照形式へ変換したい文字列です。 必ず指定します。
  • [参照形式]
    • A1形式 or R1C1形式のどちらの参照形式にしたいかを選択します。省略可能です。省略した場合はR1C1形式になります。
入力値参照形式
TRUE or 省略A1形式
FALSER1C1形式

INDIRECT関数の例題

例えば、以下のようなテーブル(A1:D3)があったとします。

ABCD
1100200300400
2500600700800
3900100011001200


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関数に関する原理原則についてまとめた記事を紹介します。

Excel関数を学ぶ前に

Excelほど、馴染みがあり、広く浸透しているツールもないでしょう。 さらに、Excel関数はExcel作業を便利するパッケージであり、習得することで、大きな進歩につながりま…

Excel関数の種類は大まかに知っておこう

冷静に、スムーズに仕事ができるため、Excel関数の種類を大まかに知っておくことが大切です。 Excel 2019では、Excel関数が全486関数もありますが、Excel機能を上手に活用…

Excel関数にはそれぞれ構文がある

Excel関数には構文があります。それが、引数と戻り値です。構文に沿えばいいだけです。言わば、数学の公式のようなものです。理論を知らなくても、公式に当てはめれば答え…

Excel関数の引数とは

Excelの引数は、料理を完成させるための材料のようなものです。しかも、材料に種類があります。その種類を理解すると、Excel関数を上手く使いこなせるようになります。

Excelの検索ダイアログから、関数を探す

Excelの検索ダイアログに使えば、目的の関数を発見しやすくなります。WEB検索する前に、Excel関数の検索ダイアログを使ってみましょう。