別シートを参照する

ちょっと別シートを参照したいというような場合は、=シート名!セル名 で参照できますが、 少し複雑な操作をしたい場合には、INDIRECT 関数を使った別シート参照方法が便利です。

INDIRECT関数の使い方 関数技32回

INDIRECT 関数で別シートを参照するには

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

別シートのセルをINDIRECT関数を使い文字列で参照する

合計を入力したいセルB4にINDIRECT関数を入力します。
INDIRECT関数は、直接入力するか、関数の挿入ボタンから関数の分類の検索/行列グループから見つけます。
INDIRECT関数を入力
B4セルに、シート”川口”のB9セルを指定したいのです。INDIRECT関数を入力

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

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

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

INDIRECT関数3
となりの大宮店、熊谷店の合計は、オートフィルでコピーします。
INDIRECT関数4
=INDIRECT(B3&"!B9")のB3は、セルを指定しているので、オートフィルでコピーができるのです。
下図は、数式表示にしています。
INDIRECT関数5
他の合計欄も、川口店の5月合計なら、=INDIRECT(B3&"!C9")
6月合計なら、=INDIRECT(B3&"!D9") というように入力します。
コピーしてちょっと修正すればOKですね。
INDIRECT関数6
数式表示のままでも、オートフィルできますから、コピーしてやります。
INDIRECT関数7
INDIRECT関数で別シートの合計欄をまとめシートに表示することができました。
INDIRECT関数8
いかがでしたか?INDIRECT関数は、文字列で指定しながらも、ちゃんとシートやセルを参照してくれます。
VLOOKUP関数などと組み合わせて使うと、さらに便利さを実感できます。それは、また次回にご紹介します。
INDIRECT 関数を掘り下げる