いまさら聞けないExcelの使い方講座

【Excel効率化】「集計するならSUM関数」は間違い!?エクセルの集計作業を効率化するSUBTOTAL関数を使うテク

 Excel(エクセル)は、仕事や普段の生活で使う機会の多い、最も身近なアプリケーションのひとつです。しかし、「イマイチよくわからないまま使っている」「実は少し苦手……」という人も多いのではないでしょうか? この連載では、いまさら人に聞けないけど、知っていれば必ず役に立つ、Excelを使いこなすためのノウハウを紹介します。

「集計はSUM関数」は間違い!?

 「今月の売上高の総計を出すように」などと上司から依頼された時に、SUM関数を使って合計を求めようと考える人は多いのではないでしょうか。

 もちろんSUM関数を使えば合計は算出できますが、集計表のタイプによっては、SUM関数よりも適した関数があります。それは、SUBTOTAL関数です。

 今回は、SUBTOTAL関数を使って、小計が含まれる集計表やオートフィルターを使っている集計表の合計を算出する方法を解説します。

SUM関数では面倒なこともある

 SUM関数を使って計算した場合とSUBTOTAL関数を使って計算した場合を比較して、どのような違いがあるかを見てみましょう。

 商品ごとの金額を集計して小計とし、最後に総計を算出する物品管理表の例を考えてみます。まずは、SUM関数(オートSUM)を使って小計を求めてみましょう。

 最初に、「水性ボールペン 赤」の小計を求めます。セルE8(①)をクリックして、[ホーム]タブ(②)の[オートSUM](③)をクリックします。

 セル範囲E3:E7が自動的に選択され(④)、セルE8には自動的に数式が入力されます(⑤)。

 もう一度[オートSUM](⑥)をクリックすると計算結果が確定され、セルE8に「水性ボールペン 赤(セル範囲E3:E7)」の小計(⑦)が表示されます。

 同じように「油性マーカー 黒」の小計も算出します(⑧)。

 小計が求められたので、次は総計を求めます。総計を求めるには「水性ボールペン 赤」の小計(セルE8)と「油性マーカー 黒」の小計(セルE13)を足し合わせなければなりません。よって、セルE14には、「=E8+E13」(⑨)と入力します。

 総計が算出できました(⑩)。

 この方法では、総計のセルにいちいちすべての小計を足し合わせていかなくてはなりませんね。今回のような小さい表ならばよいですが、項目が多く、小計欄が多数あるような集計表で総計を求めなくてはならない場合、小計をすべて足し合わせていくのは面倒ですよね。

 このような時には、SUBTOTAL関数がおすすめです。次項では、SUBTOTAL関数の使い方について解説します。

SUBTOTAL関数を使ってみよう

 前項と同じように、物品管理表の例で考えてみましょう。新しいワークシートに全く同じ物品管理表を作成して、今度はSUBTOTAL関数を使って「水性ボールペン 赤」の小計を求めてみます。

 SUBTOTAL関数は「=SUBTOTAL(集計方法,セル範囲)」という書式で記述します。集計方法には、平均、最大値、最小値、合計などを1~11の数字で指定できます。「9」は、合計を求めるときに記述する数字です(その他の集計方法については、ここでは詳しく解説しません)。

 セルE8に「=SUBTOTAL(9,」(①)と入力します。

 続けて、小計を求めるセル範囲を選択します。ここでは、セル範囲E3:E7(②)をドラッグして選択します。すると、セルE8には「=SUBTOTAL(9,E3:E7」(③)と数式の続きが自動的に入力されます。

 数式の末尾に「)」(④)と入力して[Enter]キーを押します(⑤)。

 「水性ボールペン 赤(セル範囲E3:E7)」の小計(⑥)が算出されました。

 同じようにSUBTOTAL関数を使って「油性マーカー 黒」の小計も算出します(⑦)。

 次に、総計を求めます。SUBTOTAL関数が実力を発揮するのはここからです。セルE14に「=SUBTOTAL(9,」と入力した後、総計するセル範囲全体(E3:E13)をドラッグして選択します(⑧)。総計するセル範囲全体を選択することがポイントです。既にSUBTOTAL関数が入力されているセル(セルE8やセルE13)も選択していますが、これで問題ありません。

 セルE14には「=SUBTOTAL(9,E3:E13」(⑨)と数式の続きが自動的に入力されます。数式の末尾に「)」と入力して[Enter]キーを押します。

 総計が算出されました(⑩)。

 SUBTOTAL関数の便利なところは、総計のセルにも小計と同じようにSUBTOTAL関数を使うことができ、計算するセル範囲には、対象のセル全体(今回の例では、セル範囲E3:E13)を選択すればよいところです。

 これなら、項目が多く小計欄が多数あるような集計表で総計を求める際にも、「=E8+E13+…」のように足し算をたくさん入力しなくても済みますね。

オートフィルターを使っている集計表にも便利に使える

 SUBTOTAL関数は、オートフィルターを使っている集計表にも便利に使えます。売上金額の総計をセルH2に入力している売上一覧表の例で見てみましょう。現在は、セルH2にSUBTOTAL関数が記述されており(①)、総計(②)が表示されています。

 オートフィルター機能を使って、商品名が「水性ボールペン 赤」のデータだけを表示してみます。セルA2の右端にある[▼]ボタン(③)をクリックして表示されるメニューから[水性ボールペン 赤](④)だけにチェックマークを付けます。[OK](⑤)をクリックします。

 データが絞り込まれ、「水性ボールペン 赤」だけが表示されました。総計の値が変わった(⑥)ことを確認してください。フィルタリングする項目に合わせて、総計の値も自動で切り替わります。

 関数を修正しなくても、自動的に調整してくれるので、とても便利ですね。

集計表のタイプによってはSUBTOTAL関数が最適

 今回は、SUBTOTAL関数を使って、小計が含まれる集計表やオートフィルターを使っている集計表の合計を算出する方法を解説しました。

 「関数」と聞くと難しく感じる読者もいると思いますが、本当に自分の業務に必要な関数は限られると思います。それらを厳選して覚えて活用するととても便利ですし、仕事もはかどりますよ。

 ぜひ、使ってみてくださいね。