【Excel業務効率化】SUBTOTAL関数を完全マスターしてフィルター集計を自動化しよう!

エクセル

Excelでフィルターをかけるたびに、いちいち再計算するのが面倒…

集計作業に時間がかかりすぎて、他の業務に支障が出ている…

そんなExcelでの集計業務の悩みを、SUBTOTAL関数で解決しましょう!

本記事の内容

・フィルター後の集計を自動化する方法
・作業時間を最大70%削減するテクニック
・実務で即使える具体的な活用例

SUBTOTAL関数を使いこなせば、フィルター条件を変更するたびに自動で再計算が行われ、作業効率が劇的に向上します。

月次レポートの作成時間が平均3時間から1時間に短縮された例も。

ぜひ最後までお読みいただき、あなたのExcel業務を効率化してください!

【Excel初心者必見】SUBTOTAL関数の基本から実践まで完全解説

【Excel初心者必見】SUBTOTAL関数の基本から実践まで完全解説

SUBTOTAL関数とは?フィルターと連動する便利な集計機能

SUBTOTAL関数は、Excelでフィルター機能と連動して表示されているデータのみを集計できる便利な関数です

SUM関数やAVERAGE関数などの従来の集計関数は、フィルターで非表示になったデータも計算に含めます。

一方、SUBTOTAL関数は表示されているデータのみを集計するため、フィルター条件を変更するたびに自動で再計算され、手動での再計算が不要となります。

例えば売上データの集計では、商品別にフィルターをかけた後でも、表示されている金額だけの合計を自動で求められます。これにより、データ分析の効率が大幅に向上しますよ。

従来の集計関数との違いとSUBTOTAL関数のメリット

SUBTOTAL関数の最大の特徴は、フィルターと連動して集計値が自動更新される点です

従来のSUM関数やAVERAGE関数では実現できない便利な機能が以下。

・フィルター条件を変更するたびに自動で再計算
・手動での再計算が不要で作業効率が向上
・非表示セルを自動で除外した正確な集計
・複数の計算方法を1つの関数で実現可能

SUBTOTAL関数を入れ子構造で使用する場合、重要な仕様制限があります。

Power Query
=SUBTOTAL(9,IF(SUBTOTAL(103,D2:D100)>0,IF(E2:E100="東京",F2:F100,0)))

範囲内に含まれるSUBTOTAL関数は二重計算を防ぐため自動的に無視されます。これは意図的な仕様であり、正確な集計結果を保証するために実装されているものです。

が、Excelのバージョンによっては一部の旧バージョンで異なる動作になることも…。最新のExcelバージョンで使用するように気をつけましょう。

SUBTOTAL関数は集計の信頼性も高く、誤って非表示データを含めてしまうミスを防げます。

特に大量データを扱う実務では、このような自動化機能が作業効率を大きく左右しますので、注意ポイントも含めて理解してから使いましょう!

実務でよく使われる具体的な活用シーン

SUBTOTAL関数は、ビジネスシーンで幅広く活用されています

具体的な使用例
  • 実例①
    営業部門での売上集計

    部署別や担当者別に売上をフィルターし、表示データの合計を自動計算。

    Power Query
    =SUBTOTAL(9, 売上範囲)
  • 実例②
    在庫管理システム

    商品カテゴリーごとの在庫数や金額を動的に集計。

    Power Query
    =SUBTOTAL(9, 在庫数範囲)
  • 実例③
    経費精算システム

    費目別や部門別の経費を自動集計し、予算管理を効率化。

    Power Query
    =SUBTOTAL(9, 経費範囲)
  • 実例④
    プロジェクト進捗管理

    ステータス別のタスク数や工数を瞬時に算出。

    Power Query
    =SUBTOTAL(3, タスク範囲)

これらの場面ではデータのフィルタリングと集計を頻繁に行う必要があり、SUBTOTAL関数を使えば作業効率を大幅に改善できます

SUBTOTAL関数の基本的な使い方を徹底解説

【図解付き】SUBTOTAL関数の基本的な使い方を徹底解説

SUBTOTAL関数の正しい入力方法と引数の意味

SUBTOTAL関数の基本構文

Power Query
=SUBTOTAL(関数番号, 範囲1, [範囲2], …)

SUBTOTAL関数の関数番号

SUBTOTAL関数の関数番号には2つのグループがあります。

グループ1(1-11)

手動で非表示にした行を含めて計算。フィルターによる非表示データは除外されますが、手動で非表示にしたデータも含めて集計したい場合に使用します。


・1:平均値(AVERAGE)
・2:データの個数(COUNT)
・3:データの個数(COUNTA)
・4:最大値(MAX)
・5:最小値(MIN)
・9:合計(SUM)

グループ2(101-111)

手動で非表示にした行もフィルターによる非表示と同様に除外して計算。手動で非表示にしたデータを含めずに集計したい場合に使用します。


・101:平均値(AVERAGE)
・102:データの個数(COUNT)
・103:データの個数(COUNTA)
・104:最大値(MAX)
・105:最小値(MIN)
・109:合計(SUM)

範囲指定では集計したいデータの範囲をセル参照で指定し、複数の範囲を指定することも可能です

集計方法を指定する「関数番号」の選び方

関数番号の選択は、目的の集計方法によって決定します

実務でよく使用される関数番号と使い分け
  • 関数番号:9
    合計値を求める場合

    ・売上金額の集計
    ・経費の合算
    ・在庫数量の合計

  • 関数番号:1
    平均値を求める場合

    ・月間売上の平均
    ・顧客単価の分析
    ・生産性の測定

  • 関数番号:2,3
    データ数を数える場合

    ・取引件数の把握
    ・顧客数のカウント
    ・商品アイテム数の集計

範囲指定のコツと注意点:確実に集計するために

SUBTOTAL関数で正確な結果を得るためには、適切な範囲指定が重要です

以下のポイントに注意しましょう。

・列全体を指定する場合は、余白も含めて指定
・表の形式に合わせて、ヘッダーを除外
・数式を含むセルは計算結果が反映される
・非表示行は自動で除外される

また、範囲指定時の注意点として、

・空白セルの扱いに注意
・数値以外のデータが混在していないか確認
・計算対象が途中で途切れていないか確認

これらに気をつけることで、より確実な集計が可能になります

実務で即使える!SUBTOTAL関数の実践的な活用テクニック

実務で即使える!SUBTOTAL関数の実践的な活用テクニック

フィルター後のデータを自動で集計する方法

SUBTOTAL関数は、フィルター機能と組み合わせることで、表示されているデータのみを自動で再集計します

これにより、フィルター条件を変更するたびに集計結果がリアルタイムで更新されます。

フィルター後のデータを自動で集計する

例えば売上合計を求める場合、

Power Query
=SUBTOTAL(9,D2:D100)

このように設定すると、フィルター条件を変更するたびに

・表示されているデータのみが自動で再集計
・非表示になったデータは計算から除外
・集計結果がリアルタイムで更新

されます。

特に大量データを扱う場合に便利なのでぜひ!

他の関数と組み合わせて作る高度な集計表

SUBTOTAL関数は、IF関数やVLOOKUP関数、INDEX/MATCH関数などと組み合わせることで、より高度な集計や分析が可能です

VLOOKUP関数との組み合わせ

・マスターデータとの連携
・商品コードから商品名を自動表示
・単価の自動計算

  • 商品コードから商品名と単価を取得し、表示データの合計金額を計算
    Power Query
    =SUBTOTAL(9,IF(ISNUMBER(VLOOKUP(A2:A100,マスター表!$A$2:$C$100,3,FALSE)),D2:D100 * VLOOKUP(A2:A100,マスター表!$A$2:$C$100,3,FALSE),0))
  • カテゴリー別の売上集計(商品マスターと連携)
    Power Query
    =SUBTOTAL(9,IF(VLOOKUP(A2:A100,マスター表!$A$2:$C$100,2,FALSE)="食品",D2:D100))

INDEX/MATCH関数との連携

・複数条件での検索
・データの自動参照
・動的な値の取得

  • 複数条件での検索と集計
    Power Query
    =SUBTOTAL(9,IF(IFERROR((INDEX(マスター表!$B$2:$B$100,MATCH(A2:A100,マスター表!$A$2:$A$100,0))="食品")*(INDEX(マスター表!$C$2:$C$100,MATCH(A2:A100,マスター表!$A$2:$A$100,0))="東京"),FALSE),D2:D100,0))
  • 動的な範囲指定での集計
    Power Query
    =SUBTOTAL(9,INDEX(D:D,MATCH("開始",A:A,0)):INDEX(D:D,MATCH("終了",A:A,0)))

条件付き書式との活用

・集計値に応じた色分け
・目標値との差異を視覚化
・重要データの強調表示

  • 目標達成率の計算と色分け用の数式
    Power Query
    =SUBTOTAL(9,D2:D100)/目標値
  • 部門別達成率の計算
    Power Query
    =SUBTOTAL(9,IF(B2:B100=E2,D2:D100))/INDEX(目標表!$B$2:$B$10,MATCH(E2,目標表!$A$2:$A$10,0))

SUBTOTAL関数でよくあるエラーと解決方法

SUBTOTAL関数でよくあるエラーと解決方法

「#VALUE!」エラーが表示される原因と対処法

SUBTOTAL関数で発生する主なエラーと対処方法
  • 【#VALUE!エラー】

    ・原因:データ型の不一致、無効な関数番号
    ・対処:データ型の確認、関数番号の修正

  • 【#REF!エラー】

    ・原因:参照範囲の無効化、削除されたセル
    ・対処:参照範囲の見直し

  • 【#NUM!エラー】

    ・原因:計算結果が大きすぎる、負の値での計算
    ・対処:データ値の確認、計算方法の見直し

  • 【#NAME?エラー】

    ・原因:関数名の入力ミス
    ・対処:関数名のスペルチェック

集計値が想定と異なる場合のチェックポイント

集計結果が予想と異なる場合は、以下の点を順番にチェックしましょう

データの確認:

・数値の形式は正しいか
・不要な空白や改行が含まれていないか
・小数点の位置は適切か

関数の設定:

・関数番号は目的に合っているか
・範囲指定は適切か
・フィルターが正しく機能しているか

非表示セルの扱いに関する注意点と設定方法

SUBTOTAL関数における非表示セルの扱いは、重要なポイントです

非表示セルの種類と動作の違い
  • フィルターで非表示の場合

    ・常に計算から除外されます
    ・関数番号に関係なく除外されます

  • 手動で非表示の場合

    ・関数番号1-11:計算に含まれます
    ・関数番号101-111:計算から除外されます

  • SUM関数などの他の集計関数との違い

    SUBTOTAL関数を使用すると、フィルターや手動非表示の影響を反映した集計が行われますが、SUM関数など通常の関数はこれらの非表示セルも常に含めて計算されるため、結果が異なる場合があります。

  • グループ化による非表示の場合

    ・手動非表示と同じ扱いになります
    ・関数番号の選択が重要です

これらの違いを理解し、適切に対応することで

・より正確な集計が可能
・意図しない計算ミスを防止
・データの信頼性が向上

というメリットがあります!

まとめ

まとめ

SUBTOTAL関数は、Excelでのデータ集計を劇的に効率化できる強力なツール。フィルター機能と連動して動作し、表示データのみを自動で集計できる特徴があります。

見出し

・フィルターと連動した自動集計
・9種類の計算方法に対応
・非表示データの自動除外機能
・他関数との組み合わせ活用
・エラー対策と解決方法

まずは基本的な使い方から始めて、徐々に応用的なテクニックも取り入れていくのがおすすめ。具体的なアクションとして、明日の業務から一つの集計表でSUBTOTAL関数を試してみましょう!

「帰宅したら23:00か…」

毎日の残業、本当に仕方ないことなのでしょうか?

「帰宅すると家族は寝てる…」
「冷たくなったご飯を1人で食べて寝るだけ…」
「自分の時間なんて一切ない…」

ガマンし続けたその先に、あなたの望む未来はホントにありますか?

私が経験した驚きの変化

  • 2時間の残業が【完全消滅】
  • 手作業の99%が自動化
  • 出社1時間で仕事がほぼ完了

すべては、ある”気づき”から始まりました

大手企業の管理職として10年。
最初はエクセルの知識ゼロから始めた私。

  • パソコン苦手
  • 機能が多すぎてパニック。
  • 「電源どうやってつけるの?」状態
  • ブラインドタッチどころか指一本で入力
  • 悩んでる時間がムダすぎて残業が月70時間
  • 20時間かけて作った資料が間違いだらけでやり直し

そんな私でも、ある方法に出会い、驚くほどの「ヒマ」を手に入れることができました。

※このページは近日中に非公開となります

著者プロフィール
この記事を書いた人

2024年10月から個人ブログを運営。本業で管理職をやる傍ら、趣味として会社に頼らずに生きるためのスキル磨きをしています。将来の夢は、家族と田舎で半自給自足しながらのんびり生きること。出社後1時間で仕事が終わるエクセルの使い方や、その他個人的なおススメなどを紹介していきます!

ゆうまをフォローする
エクセル関数
シェアする
ゆうまをフォローする
タイトルとURLをコピーしました