EXCEL関数で、集計に関して非常に優秀なのにもかかわらず余り注目されない関数としてSUBTOTAL関数があります。数多くの機能がありますが一番活用されるのは小計の扱いではないでしょうか?
EXCELを使いなしている方でも、SUBTOTAL関数は余り使われず結構玄人っぽい感じではありますが、他の人のexcelを見たときに「これどうなってるの?」と成らないためにも、この関数にはこのような働きがあると言うことを覚えてください。もちろん使いこなせればあなたも玄人の仲間入りです。
では、subtotalとはどのような関数なのかと言われたら、色々な集計が出来ます。といいようがないのですが、一番は表の中に小計をつくっても最終合計するときに小計を足していって合計をだすのではなく小計のセルを除外して合計を出力するといのが一番つかわれるのではないでしょうか?
では、subtotal関数を見ていきましょう。
SUBTOTAL関数
早速、SUBTOTAL関数を使用した表を見ていただきました。
SUBTOTAL関数をご存じない方は、「D7」のところで「=SUM(d4:d6)」とされ、同様に「D11」でも同様の処理をされるでしょう。そうなると「D12」では「=D7+D11」として小計を足すことにより合計を求める事になります。
SUBTOTAL関数では、小計をグループで求めて、合計は小計にとらわれず、小計の除外して集計が出来ます。
EXCELをある程度お使いになられる方であれば、SUBTOTAL関数がなくても、小計をSUM関数で求めて、その小計を足すことにより合計を求めるのは財務や表を作成するうえで非常に明確でわかりやすくこちらの方が合ってると思われる方は多いと思います。
ですが、集計をとる表を作成する場合においては、小計や各グループ毎にデータを必要とする表においては、SUBTOTAL関数は強力な武器になります。
大前提としまして、SUBTOTAL関数は数値の合計だけでなく、最大値や最小値・平均値などの数値を集計できます。そして、集計を執る範囲にSUBTOTAL関数があった場合はそのセルは除外されます。
では、早速ですがSUBTOTAL関数を使いこなしている表を見てみましょう。
SUBTOTAL関数の応用編
このように小計だけでなく、平均値や最大値などを集計したいとき、またこの項目がグループの数がいまは2個ですがこれが10等増えてきたときに、範囲指定が非常に難しくなります。この点、SUBTOTALを使いますと小計などを除外してくれますので非常にシンプルになります。
d15では「=subtotal(1,d6:d13)」(引数の1は平均値を求める引数)となり小計を控除してセルの数も考慮して出力してくれます。使いこなすと非常に便利です。
=SUBTOTAL(引数,範囲) 主な引数 1:平均 3:空白以外のセルの数 4:最大値 5:最小値 9:合計
上の表での注意点は、グループの全日数の合計はSUM関数を使っています。そうしないとその列の計算でSUBTOTAL関数の参照にならず、出力が0になるからです。
まとめ
このように、なかなか便利な関数ではありますが、余りお目に掛からないのはちょっと使い方にこつがいることと、引数により出力する性質がかわるので関数をみてすぐにどのような出力を求めるのかがわかりずらい所でしょう。
ですが、使いこなすと非常に便利な関数であることは間違いありませんので、是非とも使いこなすことが出来る様になりましょう。少なくともこのような関数があるのだということは覚えておくようにしてください。
この記事が皆様のExcel関連の悩みを解消できたのであれば幸いです。