図1のようにデータと小計行が混在した表の場合、データの合計を計算するには工夫が必要だ。まずはセオリー通りの方法を解説しよう。

 B列全体をSUM関数で合計すると「小計」の行も加算されてしまう。正しい合計は「B列の合計 - 小計行の合計」となる。この「小計行の合計」とは「A列に"小計"という文字が入力されているB列の合計」という意味だ。

 これはSUMIF関数で簡単に求めることができる。そこで、=SUM(B2:B10)-SUMIF(A2:A10,"小計",B2:B10) のように入力することで小計行を無視したデータの合計を計算できるのだ(図2)。

 だが、ちょっと頭をヒネると別の解決方法も見えてくる。「小計」とはつまりデータを小分けに合計した結果である。つまり「データの実合計 = 小計行の合計」ということだ。すると、B列を単純に合計した結果は「データの実合計 × 2」であることに気が付くだろう。それなら、SUM関数で合計した結果を2で割ってやればいい(図3)。

 もちろん、小計に含まれないデータがあったり、小計の階層が深くなるような場合にこの手は使えない。大切なことは「発想の転換」ということだ。

図1 小計行を含んだリスト。B列の合計を求めたいが、単純にSUM関数を使ったのでは、小計の欄まで計算の対象になってしまう


図2 B列の合計から、SUMIF関数による「小計」の合計を差し引く


図3 このケースでは、実はSUM関数の結果を2で割れば答えが求まる