SUBTOTAL関数の多機能集計:SUM以外の特徴も徹底解説

集計作業を行う人は、必ずマスターしておきたいSUBTOTAL関数。
合計を求めるだけならSUM関数でいいのでは・・と思っているあなたが知らない便利な集計方法を徹底解説します。例題を使って、基本操作から実務活用事例を紹介しますので、明日から役に立つ情報になっております。一緒にSUBTOTAL関数をマスターして集計作業のプロの技を身につけましょう!

こんな方におすすめ
  • Excelで集計作業を行う人
  • 集計時にフィルターをよく使う人
  • SUBTOTAL関数で何ができるのかを知りたい人

監修者のご紹介

Osaさんアイコン

長内 孝平 -Osanai Kohei-
▼経歴
・神戸大学経営学部卒
・伊藤忠商事株式会社出身
・Youseful(株)代表取締役
▼主な功績
・2021年/2022年/2023年/2024年 Microsoft社よりMicrosoft MVPに選出
(Excelの開発現場に直接フィードバックできる日本人数名の1人)
・登録者40万人超の日本最大級ビジネス教育YouTubeユースフルを運営
・10万部突破のベストセラーExcel 現場の教科書

Osaさんアイコン

長内 孝平 -Youseful(株)代表
・2021年 Microsoft社よりMicrosoft MVPに選出(Excelの開発現場に直接フィードバックできる日本人数名の1人)
・登録者30万人超の日本最大級ビジネス教育YouTubeユースフルを運営
・10万部突破のベストセラーExcel 現場の教科書

目次

SUBTOTAL関数とは

SUBTOTAL関数は、11種類の集計が行える関数です。

SUBTOTAL関数の構文

=SUBTOTAL(集計方法, 参照1, [参照2],…)

集計方法:「1~11」又は「101~111」の数字で指定(詳細は行の非表示に対応した集計を行うで解説)
参  照:集計したいセルの範囲( [参照2] 以降は任意入力)

集計方法
非表示の値を含む
集計方法
(表示の値のみ)
集計の種類同等の関数
1101平均値を求めるAVERAGE
2102数値の個数を求めるCOUNT
3103データの個数を求めるCOUNTA
4104最大値を求めるMAX
5105最小値を求めるMIN
6106積を求めるPRODUCT
7107不偏標準偏差を求めるSTDEV
8108標本標準偏差を求めるSTDEVP
9109合計値を求めるSUM
10110不偏分散を求めるVAR
11111標本分散を求めるVARP
11種類の集計方法

単体で集計をする関数(例:SUM関数)との違いとして、下記の3つの特徴を持っています。

  1. フィルターをかけると抽出結果に連動して集計できる
  2. 小計を省いて合計を求められる
  3. 表示/非表示の箇所を集計するか選べる

単体での集計関数との違い:SUM関数との比較

SUBTOTAL関数の集計方法に、「合計値(SUM)」があります。
SUM関数に似ている機能ですが、SUBTOTAL関数との違いがあります。

  1. フィルターの抽出結果で計算結果に差がでる
  2. 小計を無視して計算できる

1つ目の特徴を見ていきましょう。
フィルターで抽出を行っていない状態では、集計結果に差は出ません。

SUM関数とSUBTOTAL関数の集計結果の違い①

しかし、フィルターで抽出すると集計結果に差が出ます。

SUM関数とSUBTOTAL関数の集計結果の違い②

SUM関数:目に見えていないデータ(非表示)もすべて含めて合計する
SUBTOTAL関数:目に見えているデータのみを合計する

2つ目の特徴「小計を無視して計算できる」については、基本的な使い方で問題を解きながら解説します。

【基礎】SUBTOTAL関数の使い方と注意事項

ここからは、基本的な使い方と、はじめにおさえておきたいよくある間違いについて解説します。

基本的な使い方|小計を無視して足し算の合計を求める

小計がある表で合計を求める時、SUBTOTAL関数が便利です。

SUBTOTAL関数は前述した通り、
その範囲内にSUBTOTAL関数がある場合、その値を無視して計算する
という特徴をもっています。

下図の例では、D19に売上の総合計を出力しています。
*条件としては、SUBTOTAL関数が入っている小計(D8、D13、D18)を無視

このように、参照範囲内にあるSUBTOTAL関数を無視してくれるので、合計を求めたい箇所の参照範囲を単純にすることができます。
同じことをSUM関数で行おうとすると、参照範囲が細切れになり、参照範囲を間違える小さなミスが発生しやすくなります。

SUBTOTAL関数の基本的な使い方

【実践】SUBTOTAL関数の実務活用例

ここからは実務でSUBTOTAL関数が、どのような活用がされているのかを確認していきます。
注意しておきたいポイントと一緒に、2つの事例を確認していきましょう!

行の非表示に対応した集計を行う:SUMの場合

「合計値を求める」ためには、第一引数に9または109を指定します。
しかし、この2つには明確な違いがあります。

フィルターをかけた場合、集計の計算結果には影響が出ませんが、手動で「行の非表示」を使った場合は、集計結果に差が出ます。
意外と理解できていないポイントなので、ここでしっかり押さえておきましょう。

集計方法9と109の違い

SUBTOTAL関数だけに頼らない集計をする

SUBTOTAL関数で集計方法を9(合計値)に指定したにも関わらず、正しく計算されない場合があります。
下の例を見てみましょう。

SUBTOTAL関数の集計結果が0になる場合

正しく関数を入力しているのに、集計結果が0になってしまう箇所ができてしまいました。
どこに原因があるのか、表の中身を探ってみると・・

SUBTOTAL関数の集計結果が0になる場合の関数の中身

一見すると問題ないように見えるのですが、赤枠の第二引数に注目してください。
実は、第二引数の参照範囲(オレンジ部分)には、SUBTOTAL関数のみが含まれています。

「その範囲内にSUBTOTAL関数がある場合、その値を無視して計算する」
という特徴があるため、参照範囲内にSUBTOTAL関数しかない場合、計算結果は0となります。

この現象を回避するには、SUM関数を組み合わせることが有効です。

SUM関数とSUBTOTAL関数の組み合わせ方法

次の2点の変更をして、正しい集計結果を得ることができました。

  • 各支店の第2四半期の合計をSUM関数を用いて計算する
  • 各地区の第2四半期の小計の参照範囲を、行方向から列方向にする

SUBTOTAL関数の特徴を理解し、他の関数と組み合わせて活用しましょう。

【小技】便利テクニック

ここでは、SUBTOTAL関数の特徴「集計」とは少し違うテクニックを1つ紹介します。

フィルターに対応する連番を振る方法

テーブルを設定した表に、第一引数「3(データの個数)」を設定すると、フィルターに対応した連番を、自動で振ることができます。

フィルターに対応する連番を自動で振る方法

番号を表示させたいセル(今回はB3)に以下の式を入力します。
「=SUBTOTAL(3,$C$3:C3)」

第二引数のスタート部分を絶対参照にする!

テーブルが設定されていない場合の注意点

テーブルが設定されていない場合、フィルターをかけると範囲の最終行が常に表示されてしまいます。

フィルターに対応する連番を自動で振れない場合(NG例)

この現象は、SUBTOTAL関数が最終行を「合計行」と認識してしまい、データ行として扱わないのでフィルターに含めない処理がされていることが原因と考えられます。

SUBTOTAL関数が入った列(B列)のフィルターを外す

フィルターに対応する連番を自動で振れない場合の解決方法

SUBTOTAL関数が入った列(B列)のフィルターを外すことで対応できますが
対象の表を初めからテーブルに設定しておくことをオススメします。

フィルターを外して対応したい方に、特定の列だけフィルターを外す方法も紹介しておきます。

STEP
フィルターを解除する
特定の列だけフィルターを外す方法①
STEP
フィルターをかけたい範囲を選択してから、フィルターをかける
特定の列だけフィルターを外す方法②

まとめ

SUBTOTAL関数は、集計方法を指定することで、さまざまな集計ができる関数です。
重要なポイントは3つでした。

  1. 第1引数の11種類×2パターンの使い分けが重要
  2. 小計やオートフィルターがある時に、SUM関数よりも便利
  3. 連番を振るなど集計以外にも使える

実務でも使用できる場面があるので、ぜひ業務効率の向上にお役立て下さい。

「面倒な業務を効率化して残業を減らしたい」
「プロのExcel技を身に着けて社内で頼られる存在になりたい」

そんな方にはユースフルの公式LINEがオススメです!
MicrosoftからもMVPとして評価されているExcel実務のプロ、長内孝平(おさ)が監修、
LINE会員限定の豪華4大特典を無料でプレゼント中です!
プレゼント内容には、業務効率化のヒントになるものがたくさん入っています!

  1. PCショートカット288選PDF
  2. Excel無料講義動画480分
  3. Excel学習の秘訣講義
  4. ユースフルの講座割引クーポン

ぜひ下記の画像をタップして受け取ってくださいね!

気に入ったらシェア!
  • URLをコピーしました!
目次