ExcelのINDIRECT関数で別シートのセルを参照したい

Microsoft Excelで使用できる「INDIRECT関数」では、セルの参照を文字列によって指定することが可能となっています。またセルだけではなくシートを参照させることができるので、別シートのセルのデータを引用することができますよ。
この記事では、ExcelのINDIRECT関数で別シートのセルを参照する方法をご紹介していきます。
ExcelのINDIRECT関数で別シートのセルを参照する方法

それでは、ExcelのINDIRECT関数で別シートのセルを参照する方法を説明していきます。この例では、画像の表にINDIRECT関数で別シートのセルの内容を追加していきます。

シートは上記画像の「Main」の他に各アイテムごとのシートを用意しています。

各アイテムのシートには画像の通り、月ごとの売上金が入力されています。

それでは、他のシートのセルを参照してみましょう。B2セルに「アイテム1」シートのA3セルを参照させます。「=INDIRECT("アイテム1!A3")」と入力してみましょう。

これで「アイテム1」シートのA3セルを参照して、セルに入力されている数値を反映することができました。
この方法で、他のシートのセルに入力されている数値を反映させることが可能ですよ。しかし注意点として、この数式はフィルハンドルを使用して下のセルに数式を適用しようとしても「アイテム2」・「アイテム3」のシートの内容を参照することはできません。とはいえ個別に数式を入力していくのも面倒ですよね。そこで、「参照したいシート名と同名のセル」を用意することでフィルハンドルを使用することができますよ。このケースで使用する数式は「=INDIRECT(参照シート&"!参照セル")」となります。

B2セルに「=INDIRECT(A2&"!A3")」と入力します。すると「アイテム1」シートのA3セルの数値が反映されますね。

あとは、B2セルを選択して右下に表示されるフィルハンドルをドラッグして下方向に引っ張りましょう。これで残りのセルにも同様の数式が適用され、それぞれ「アイテム2」と「アイテム3」のシートを参照してセルの数値を反映させることができますよ。
他にも、SUM関数と組み合わせることで複数セルの合計値を表示させることも可能です。数式は「=SUM(INDIRECT(参照シート&"!参照開始セル:参照終了セル")」となります。

画像の例ではC2セルに「=SUM(INDIRECT(A2&"!A3:C3"))」と入力することで、「アイテム1」シートのA3~C3セルの合計値を出力することができました。