この記事では、ExcelのINDIRECT関数を使用して動的に参照するテーブルを作成し、データを使用して対応する参照セルを自動的に生成する方法を解説します。
INDIRECT関数の使用方法
INDIRECT関数は、指定される文字列への参照を返す関数です。
書式:=INDIRECT(参照文字列,[参照形式])
参照文字列はセル参照を表す文字列またはセル参照を指定します。例えば、参照文字列「A3」を入力すると、INDIRECT関数はA3セルの値を返します。
実際には、INDIRECT関数で通常の参照文字列を直接使用することはありません。(そうすれば、A3のような参照を直接記述することをお勧めします)INDIRECT関数は他の場所から参照文字列を取得し、対応するセルのデータを抽出します。
次には簡単な例を挙げます。まず、セルの位置を入力し、INDIRECT関数を使用してそのセルにあるデータを抽出します。
=INDIRECT(C2)
INDIRECT関数は別のワークシートのデータを抽出できます。数式を入力する時に、ワークシートを含むセルの位置を指定すればいいです。数式は次のようになります。
ワークシート!セルの位置
例えば、ワークシート2のテーブルは次の図です。
ワークシート2からデータを抽出する場合は、セルの位置だけを変更すればいいです。INDIRECT関数の数式は元のままでいいです。
別のExcelファイルである場合は、INDIR関数もデータを抽出できます。Excelファイルの位置を含む書式は以下となります。
[ファイル名]ワークシート!セルの位置
仮に別のファイルから抽出したいデータがあります。次には例を挙げます。
別のファイルからデータを抽出する場合も、セルの位置だけを変更すればいいです。
動的参照テーブル
INDIRECT関数の使用方法を慣れた後、この関数を使用して動的参照テーブルを作成できます。
Excelの数式では、&演算子は二つの文字列を繋がれます。例えば、”AB”&”CD”を演算すると、”ABCD”になります。
次の例には、&演算子を使用して、「Excelファイル」、「ワークシート」、「セルの位置」を三つのセルに入力し、INDIRECT関数を使用してデータを抽出します。
=INDIRECT("["&A2&"]"&B2&"!"&C2)
コメントを残す