新しいウィンドウ

複数ある別シートのデータを一覧表へまとめる  INDIRECT(インダイレクト)関数

書式
=INDIRECT(<参照文字列>)
式の中で使う参照先を、セルの値の文字列で間接的(INDIRECT)に指定します。
説明
参照文字列>は参照先の<シート名>と<セル番地>です。
このときに、参照先の<シート名>を入力したセルを用意しておいて、式の中でセル参照をします。
使用例
家計簿があって、次のようなシートの構成になっています。
1、シートは集計表・1月・2月の3枚があります。
2、各月のデータを、集計表へ月ごとに一覧表示させます。

ステップ1 サンプルデータの入力
1、<集計表・1月・2月>の3枚のシートを準備します。
2、1月シートと2月シートにサンプルデータを入力します。

1月シート <A2>セルに <400>
2月シート <A2>セルに <100>

3、集計表シートに参照先のシート名を入力します。
A1セルに1月と入力
B1セルに2月と入力

ステップ2 式の入力
集計表シートのA2セルに下の式を入力します。
=INDIRECT(A1&”!A2”)
<A2>セルの結果は 400

ステップ3 式のコピー
集計表シーA2>セルの式を<B2>セルへコピーします。
<B2>セルの結果は 100

これで他シートのデータをシート名ごとにまとめることができました。
このような家計簿にすると、各月の費目合計を一覧表にまとめることができます。
解説
1、関数式の意味
例で作成した式は下のとおりです。
=INDIRECT(A1&”!A2”)

このとき、式を入力したシートの<A1>セルの値は<1月>です。
<A1>セルの値<1月>を式に入れると下のような表現になります。
=INDIRECT(1月&”!A2”)

他シートの参照セルを文字列として<””>で囲んであります。
これと結合の<&>を外すと、関数は不要で下のようになります。
=1月!A2
これで普通の他シート参照式と同じものになります。

2、INDIRECT関数を使うメリット
1、シート名を変更したとき、集計表のシート名入力セルを変更すれば、関数式は変更しないですむ。
2、シート名はセルの値なので、関数式はコピーが可能になる。

3、参考
セルで指定したシート名が、実際のシート名と違ったときは #REF! のエラーになります。

終わり


By にいがた窓の会