【Excel】串刺し計算でINDIRECTで参照する方法

Excelで複数のシートをまたがって同じセルを合計するのは、SUMの串刺し計算をすれば、簡単にできます。

 

が、シート名や計算させるセルの場所をどこかに参照させたいとき、そのままでは串刺し計算にINDIRECTを入れることは出来ません。

 

今日は、串刺し計算でINDIRECTを入れ込む方法をお知らせします。

 

下記は通常の串刺し計算です。

セルA9で、SG、MY、TH、ID、VNという5シートのB2の合計を出しています。

なお、A6~E6は各シートのB2の値を引っ張ってきています。合計は15でA9の値と一致します。

 

 

ここで、シート名、合計しているセルの場所の両方を、計算式に埋め込むのではなく、参照させたい場合、計算式は以下の通りになります。

 

 

解説は以下の通りです。

 

ポイントは、

  • SUMPRODUCT中にSUMを入れて、配列計算ができるようにする
  • 参照させたいシートは、全てセルに入力した上で、範囲指定で参照させる(A5:E5部分)

 

なお、これを、SUMPRODUCTを使わずに、

 

=SUM(INDIRECT(“‘”&A5:E5&”‘!”&B2&B3))

 

とすると、THシートのB2しか参照しなくなり、返ってくる値は3になります。

 

3が返ってくる理由は謎なので解説できませんが、要するに、SUMPRODUCTで囲って配列計算ができるようにしてあげないと、合計値が取れません。

 

コメント

タイトルとURLをコピーしました