別シートを参照する
ちょっと別シートを参照したいというような場合は、=シート名!セル名 で参照できますが、 少し複雑な操作をしたい場合には、INDIRECT 関数を使った別シート参照方法が便利です。
INDIRECT関数の使い方 関数技32回
INDIRECT 関数で別シートを参照するには
INDIRECT関数は、指定した文字列への参照を返すExcelの検索と行列関数です。
どういうことかというと、文字列をExcelが計算に使えるようにセル範囲に変換してくれるというわけです。
指定した文字列は、セルに記載しても、直接入力してもOK。
今回は、INDIRECT関数で別シートの合計欄をまとめシートに表示する方法をご紹介します。
(サンプルファイルは、こちらから 2013関数技32回サンプルデータ)
別シートのセルをINDIRECT関数を使い文字列で参照する
合計を入力したいセルB4にINDIRECT関数を入力します。
INDIRECT関数は、直接入力するか、関数の挿入ボタンから関数の分類の検索/行列グループから見つけます。
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関数で別シートの合計欄をまとめシートに表示することができました。
いかがでしたか?INDIRECT関数は、文字列で指定しながらも、ちゃんとシートやセルを参照してくれます。
VLOOKUP関数などと組み合わせて使うと、さらに便利さを実感できます。それは、また次回にご紹介します。
VLOOKUP関数などと組み合わせて使うと、さらに便利さを実感できます。それは、また次回にご紹介します。