Excel INDIRECT 関数で別シートを参照するには
INDIRECT関数の使い方 関数技32回
INDIRECT 関数で別シートを参照するには
INDIRECT関数は、指定した文字列への参照を返すExcelの検索と行列関数です。
どういうことかというと、文字列をExcelが計算に使えるセル範囲に変換してくれるというわけです。
指定した文字列は、セルに記載しても、直接入力してもOK。
今回は、INDIRECT関数で別シートの合計欄をまとめシートに表示する方法をご紹介します。
(サンプルファイルは、こちらから 2013関数技32回サンプルデータ)
別シートのセルをINDIRECT関数を使い文字列で参照する
合計を入力したいセルB4にINDIRECT関数を入力します。
直接入力するか、関数の挿入ボタンから関数の分類の検索/行列グループから見つけます。

直接入力するか、関数の挿入ボタンから関数の分類の検索/行列グループから見つけます。

B4セルに、シート”川口”のB9セルを指定したいのです。
シート川口を見てください。B9セルに4月の合計が入力されいます。

シート川口を見てください。B9セルに4月の合計が入力されいます。

都合のいいことに、川口の文字は、
まとめシートのB3セルに入っています。だからB3セルを指定しましょう。

まとめシートのB3セルに入っています。だからB3セルを指定しましょう。

スポンサーリンク
スポンサーリンク
引数は文字列ですから、続くのは文字列です。
このように入力します。
=INDIRECT(B3&"!B9")

このように入力します。
=INDIRECT(B3&"!B9")

となりの大宮店、熊谷店の合計は、オートフィルでコピーします。


=INDIRECT(B3&"!B9")のB3は、セルを指定しているので、オートフィルでコピーができるのです。
下図は、数式表示にしています。

下図は、数式表示にしています。

他の合計欄も、川口店の5月合計なら、=INDIRECT(B3&"!C9")
6月合計なら、=INDIRECT(B3&"!D9") というように入力します。
コピーしてちょっと修正すればOKですね。

6月合計なら、=INDIRECT(B3&"!D9") というように入力します。
コピーしてちょっと修正すればOKですね。

数式表示のままでも、オートフィルできますから、コピーしてやります。



いかがでしたか?INDIRECT関数は、文字列で指定しながらも、ちゃんとシートやセルを参照してくれます。
VLOOKUP関数などと組み合わせて使うと、さらに便利さを実感できます。それは、また次回にご紹介します。
VLOOKUP関数などと組み合わせて使うと、さらに便利さを実感できます。それは、また次回にご紹介します。
スポンサーリンク
スポンサーリンク