【EXCEL】SUM 小計と合計

小計と合計のある表の式はSUMよりSUBTOTALが便利。
という記事を見つけた。
誤って小計を合算してしまうことを承知の上で、合計の式を = SUM(・・・)÷2 とする方法もあるが、中計(期末等)等が追加されると厄介になる。
ボクはもっと安易に 小計の計算式 =SUM(C3:C6) を =””  &  SUM(C3:C6) と文字列にすることで 小計の計算値が合計に加算されないようにして解消していた。
それはさておき
SUBTOTAL自体は、合計、平均、データの個数から標本分散を求めるまで計算方法をパラメータで指定できるので、
SUBTOTAL(9、・・・)とすると二番目のパラメータで指定する範囲の合計を計算してくれるから
ワークシート上にコンボボックスで計算方法を切り替えるようにすると便利な関数だ。
にも拘わらず、SUMと異なり、一部の計算式の結果を無視する仕様になっている。
便利といえば便利だが・・・なぜSUMと違う合計値にしたのかについては・・・

SUBTOTAL 関数

を見ると、

範囲内に他の集計値が挿入されている場合、ネストされている集計値は、計算の重複を防ぐために無視されます。

となっている。
ここの集計値とはSUBTOTALのことでSUMは含まれていない。
具体的には小計式にSUBTOTAL(・・・)の関数が含まれていれば、
=20000+SUBTOTAL(・・・) や =SUBTOTAL(・・・)+20000としても加算されないので
円単位から千円単位に変更する際に式を変更しても合計には影響しない。
でも、似たような仕様をいくつも作られても覚えるのが面倒。
さらに考察すると
SUBTOTALって何や?SUMでいいやんか!バシ!
と修正されたりするととても面倒である。
※計算設定を変えれば・・・数値っぽいから合算しますね(キリリ なモードもある。しかし、この場合は、計算方法を変えたら結果が変わるのは当たり前(キッパリ と答えられる。
なので、小計作成マクロは既に組み込まれているので、式のセルと対象のセル範囲の2つを指定して中計や合計を作成するマクロを作ってしまった方が無難である。
そして、マクロ(VBA)も読みやすいように「日本語名」で作成した方がいいだろう。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA