ExcelのSUBTOTAL関数と計算式の例

  • これを共有
Michael Brown

このチュートリアルでは、ExcelのSUBTOTAL関数の特異性を説明し、可視セルのデータを要約するための小計計算式の使い方を紹介します。

前回は、Excelで小計機能を利用して自動的に小計を挿入する方法について説明しました。 今日は、小計の計算式を自分で書く方法と、それによってどのようなメリットがあるのかを学びます。

    エクセル小計関数 - 構文と使い方

    マイクロソフトは、Excelの小計をリストまたはデータベース内の小計を返す関数と定義している。 ここでいう「小計」は、定義されたセル範囲の数値を合計することだけではない。 小計は、ある特定のことだけを行うように設計された他のExcel関数とは異なり、非常に多機能である。セルのカウントや平均の計算など、異なる演算および論理演算を行うことができる。最小値、最大値の検索など。

    SUBTOTAL関数は、Excel2016、Excel2013、Excel2010、Excel2007以下のすべてのバージョンで利用可能です。

    ExcelのSUBTOTAL関数の構文は次のとおりです。

    SUBTOTAL(function_num, ref1, [ref2],...)

    どこで

    • ファンクション_num - 小計に使用する関数を指定する数値。
    • Ref1、Ref2、... - 小計する1つ以上のセルまたは範囲。 最初のref引数は必須で、その他(最大254個)は任意です。

    引数 function_num は、以下のいずれかの集合に属することができる。

    • 1 - 11は、フィルタリングされたセルを無視し、手動で非表示にした行を含む。
    • 101 - 111は、すべての非表示セルを無視します - フィルターで除外し、手動で非表示にします。
    ファンクション_num 機能 商品説明
    1 101 平均値 数値の平均を返します。
    2 102 COUNT 数値を含むセルをカウントする。
    3 103 COUNTA 空でないセルを数える。
    4 104 マックス 最大値を返す。
    5 105 ミニ 最小の値を返します。
    6 106 製品 セルの積を計算する。
    7 107 STDEV 藍坊主関数は、数値の標本に基づく母集団の標準偏差を返します。
    8 108 エスティデブピー BASE関数は、母集団全体の数値に基づく標準偏差を返します。
    9 109 総和 数字を足し算していく。
    10 110 バー 数字の標本に基づいて母集団の分散を推定する。
    11 111 バープ 数字の母集団全体から母集団の分散を推定する。

    セルや数式バーで小計式を入力し始めると、Microsoft Excel は利用可能な関数番号のリストを表示するので、すべての関数番号を記憶しておく必要はないのです。

    例えば、セルC2~C8の値を合計する小計9の計算式は、このように作ります。

    関数番号を数式に追加するには、関数番号をダブルクリックしてから、カンマを入力し、範囲を指定して、閉じ括弧を入力し、Enterキーを押します。 完成した数式は、次のようになります。

    =subtotal(9,c2:c8)

    同様に、平均値を求める小計1、数字のあるセルを数える小計2、空白でないセルを数える小計3などの数式を書くことができます。 次のスクリーンショットは、その他の数式の動作を示したものです。

    注意:SUMやAVERAGEなどの集計関数で小計式を使用すると、空白や数値以外の値を含むセルを無視して、数値の入ったセルだけを計算します。

    Excelで小計式を作成する方法が分かったところで、主な疑問があります。 なぜ、SUM、COUNT、MAXなどの通常の関数を使用しないのでしょうか? その答えは、以下のとおりです。

    ExcelでSUBTOTALを使用する理由トップ3

    従来のExcel関数と比較して、SUBTOTALは以下の重要な利点を提供します。

    1.フィルタリングされた行の値を計算する

    ExcelのSUBTOTAL関数は、フィルタリングされた行の値を無視するため、フィルタに応じて小計値が自動的に再計算される動的なデータサマリーを作成するために使用することができます。

    例えば、East地域の売上だけを表示するようにテーブルをフィルタリングすると、Subtotalの数式は自動的に調整され、他のすべての地域が合計から削除されます。

    注)関数番号セット(1~11、101~111)はいずれもフィルタリングされたセルを無視するので、この場合、小計9または小計109のいずれかの数式を使用することができます。

    2.表示されているセルだけを計算する

    覚えているように、関数_番号101~111の小計式は、すべての非表示セルを無視します - フィルタリングして手動で非表示にします。 ですから、Excelの非表示機能を使って無関係なデータを表示から取り除くときは、関数番号101~111を使って非表示行の値を小計から除外してください。

    次の例は、小計9と小計109の比較で、その仕組みをより理解するのに役立ちます。

    3.ネストされた小計計算式の値を無視する。

    Excelの小計式に指定した範囲に他の小計式が含まれていても、それらの入れ子になっている小計は無視されるので、同じ数値が2回計算されることはありません。 すごいでしょう?

    以下のスクリーンショットでは、グランドアベレージの計算式が表示されています。 小計(1, c2:c10) は、セル C3 と C10 の小計式の結果を無視し、あたかも 2 つの別々の範囲を持つ平均式を使用したかのように表示します。 平均値(c2:c5, c7:c9) .

    Excelで小計を使う - 計算式の例

    SUBTOTALを初めて使う人は、複雑で厄介、そして無意味に思えるかもしれません。 しかし、一度本題に入れば、使いこなすのはそれほど難しくないことがわかります。 以下の例では、役立つヒントとインスピレーションを与えてくれるアイデアをいくつか紹介します。

    例1.小計9と小計109の比較

    ExcelのSUBTOTALは、1-11と101-111の2種類の関数を使用できます。 どちらもフィルタリングされた行を無視しますが、1-11は手動で隠した行を含み、101-111はそれを除外します。 この違いを理解するために、次の例を考えてみましょう。

    合計へ ろれつが回らない のように、小計9または小計109の計算式を使用することができます。

    しかし、もし 隠れ を使用して手動で無関係な項目を 行を隠す コマンドを実行します。 ホーム tab> 細胞 グループ> フォーマット > 隠す・消す をクリックするか、または行を右クリックして 隠す で、表示されている行の値だけを合計したい場合、小計 109 が唯一の選択肢となります。

    他の関数番号も同じように動作します。 例えば、次のように数えることができます。 ノン・ブランクフィルタード・セル ただし、小計3、小計103のどちらか一方のみ。 小計 103 があれば、目に見えるノンブランクを適切にカウントすることができます。 隠れ の行を範囲とする。

    注)ExcelのSUBTOTAL関数のfunction_numが101~111の場合、非表示の行の値は無視されます。 隠れ柱 例えば、次のような数式を使用する場合。 小計(109, a1:e1) を使用して水平方向の範囲の数値を合計する場合、列を隠しても小計には影響しません。

    例2.IF + SUBTOTALで動的にデータを要約する

    サマリーレポートやダッシュボードを作成する際に、様々なデータのサマリーを表示しなければならないが、すべてを表示するスペースがない場合、次の方法が解決策となるかもしれません。

    • 1つのセルに、Total、Max、Min などの関数名を含むドロップダウンリストを作成します。
    • ドロップダウンの隣のセルに、ドロップダウン・リストの関数名に対応する小計関数を埋め込んだネストされたIF式を入力します。

    例えば、小計する値がセルC2:C16にあり、A17のドロップダウンリストに以下のものがあるとする。 合計 , 平均値 , マックス そして 最小 の項目で、「動的な」小計の計算式は以下の通りである。

    =IF(A17="total", SUBTOTAL(9,C2:C16), IF(A17="average", SUBTOTAL(1,C2:C16), IF(A17="min", SUBTOTAL(5,C2:C16), IF(A17="max", SUBTOTAL(4,C2:C16),")) )

    そして、ユーザーがドロップダウンリストからどの関数を選択するかによって、対応する小計関数がフィルタリングされた行の値を計算するようになります。

    ヒント:突然、ドロップダウンリストと数式セルがワークシートから消えた場合は、必ずフィルターリストで選択してください。

    Excelの小計が機能しない - よくあるエラー

    小計の計算式がエラーを返す場合、次のいずれかの理由が考えられます。

    #VALUE! - function_num が 1~11 または 101~111 の整数以外である場合,または ref のいずれかに 3 次元参照が含まれている場合。

    #DIV/0! - は、指定された要約関数がゼロによる除算を行う必要がある場合に発生します(例えば、単一の数値を含まないセル範囲の平均または標準偏差を計算します)。

    #NAME? - 小計関数の名前が間違っている - 直すのが簡単なエラーです :)

    ヒント:SUBTOTAL関数をまだ使いこなせていない場合は、内蔵のSUBTOTAL機能を使用すると、自動的に数式が挿入されます。

    以上、Excelで「SUBTOTAL」式を使用して、表示されているセルのデータを計算する方法でした。 例をわかりやすくするために、以下のサンプルワークブックをダウンロードしてください。 読んでいただきありがとうございました。

    練習用ワークブック

    ExcelのSUBTOTALの計算式の例(.xlsxファイル)

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。