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で囲って配列計算ができるようにしてあげないと、合計値が取れません。
コメント