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
セル | 内容 |
---|---|
A1 | B1 |
B1 | 100 |
参照形式にFALSEを指定する場合
参照形式にFALSEを指定した場合、R1C1形式(行番号と列番号で表されるセル参照)で参照されます。
例: =INDIRECT(“R1C2”, FALSE)
結果: 100(R1C2は1行目2列目のことなのでセルB1のことになる)
セル | 内容 |
---|---|
A1 | B1 |
B1 | 100 |
このように、参照形式を切り替えることで、セル参照の形式に応じてINDIRECT関数を使い分けることができます。
参照形式にFALSEを指定した応用例: R1C1形式で相対参照する
R1C1形式を利用すると、相対参照も簡単に行えます。以下の例では、現在のセルから2行上のデータを取得する方法を紹介します。
A | B | C |
---|---|---|
100 | 200 | 300 |
400 | 500 | 600 |
700 | 800 | 900 |
例えば、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 |
---|---|
Sheet1 | 10 |
Sheet2 | 20 |
Sheet3 | 30 |
結果: 60
このように、INDIRECT関数を活用することで、複数シート間でのデータ集計が簡単に実現できます。
まとめ
ExcelのINDIRECT関数は、文字列をセル参照として評価し、そのセルの値を返す便利な関数です。また、参照形式を切り替えることで、A1形式とR1C1形式のセル参照を使い分けることができます。他の関数と組み合わせることで、さまざまな応用が可能なので、ぜひ活用してみてください。
コメント