ExcelのINDIRECT関数を理解しよう!参照形式の使い分けも解説

ExcelのINDIRECT関数を理解しよう!参照形式の使い分けも解説

ExcelのINDIRECT関数は、他のセルや範囲への動的な参照を可能にする便利な関数です。この記事では、INDIRECT関数の概要や、引数「参照形式」の使い分けについて詳しく解説します。

INDIRECT関数とは?

INDIRECT関数は、文字列をセル参照として評価し、そのセルの値を返します。これにより、セル参照を動的に変更することができます。

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

基本的な使い方

例えば、セルA1に「B1」と入力し、セルB1に「100」と入力した場合、以下のようにINDIRECT関数を使用できます。

式: =INDIRECT(A1)

結果: 100

この場合、INDIRECT関数はA1セルの文字列「B1」を参照として評価し、B1セルの値「100」を返します。

参照形式の使い分け:TRUEとFALSEの違い

INDIRECT関数の第二引数「参照形式」には、TRUE(デフォルト)またはFALSEを指定できます。これにより、セル参照の形式を切り替えることができます。

参照形式にTRUEを指定する場合

参照形式にTRUEを指定した場合、A1形式(通常のセル参照)で参照されます。

例: =INDIRECT(“B1”, TRUE)

結果: 100

セル内容
A1B1
B1100

参照形式にFALSEを指定する場合

参照形式にFALSEを指定した場合、R1C1形式(行番号と列番号で表されるセル参照)で参照されます。

例: =INDIRECT(“R1C2”, FALSE)

結果: 100(R1C2は1行目2列目のことなのでセルB1のことになる)

セル内容
A1B1
B1100

このように、参照形式を切り替えることで、セル参照の形式に応じてINDIRECT関数を使い分けることができます。

参照形式にFALSEを指定した応用例: R1C1形式で相対参照する

R1C1形式を利用すると、相対参照も簡単に行えます。以下の例では、現在のセルから2行上のデータを取得する方法を紹介します。

ABC
100200300
400500600
700800900

例えば、D5セルで2行上1列左のセル(C3)の値を取得したい場合、以下の式をD5セルに入力します。

=INDIRECT(“R[-2]C[-1]”, FALSE)

この式をD5セルに入力すると、現在のセルから2行上、1列左の値(900)が表示されます。この方法を利用すれば、相対参照を行うことができます。

INDIRECT関数の応用例

INDIRECT関数は、他の関数と組み合わせることで、さまざまな応用が可能です。以下に一例を紹介します。

INDIRECT関数の応用例

応用例1: シート名を参照してデータを取得する

INDIRECT関数を使うと、シート名を参照して他のシートからデータを取得することができます。以下の例では、A1セルにシート名が入力されている場合、そのシートのB2セルのデータを取得します。

例: =INDIRECT(A1&”!B2″)

この式は、A1セルに入力されたシート名を使って、そのシートのB2セルのデータを取得します。これにより、シート名を動的に変更することで、簡単に他のシートのデータを参照することができます。

応用例2: セルの値に応じて異なる範囲を合計する

INDIRECT関数を使って、セルの値に応じて異なる範囲を合計することができます。以下の例では、A1セルの値に応じてB列の合計範囲が変わります。

例: =SUM(INDIRECT(“B1:B”&A1))

A1セルに5が入力されている場合、この式はB1:B5の範囲の合計を計算します。A1セルの値を変更することで、合計範囲を動的に変更することができます。

応用例3:複数シート間でのデータ集計

複数のシートにわたるデータを集計する際に、INDIRECT関数を活用することができます。例えば、以下のようなシート構成があるとします。

  • Sheet1: データ1
  • Sheet2: データ2
  • Sheet3: データ3

この場合、INDIRECT関数を使って、各シートの特定のセル(例えば、A1)の値を合計することができます。

式: =SUM(INDIRECT(“Sheet1!A1”) + INDIRECT(“Sheet2!A1”) + INDIRECT(“Sheet3!A1”))

シート名セルA1
Sheet110
Sheet220
Sheet330

結果: 60

このように、INDIRECT関数を活用することで、複数シート間でのデータ集計が簡単に実現できます。

まとめ

ExcelのINDIRECT関数は、文字列をセル参照として評価し、そのセルの値を返す便利な関数です。また、参照形式を切り替えることで、A1形式とR1C1形式のセル参照を使い分けることができます。他の関数と組み合わせることで、さまざまな応用が可能なので、ぜひ活用してみてください。

コメント