ExcelのSUBTOTAL関数の結果に抽出結果を反映させる方法

  • 2016年12月20日
  • 2020年11月5日
  • Excel

Excelで多くの人に利用されている操作の中に「抽出」または「フィルター」と呼ばれる操作があります。

この操作は、指定した条件に該当するデータ以外を非表示にして、必要なデータだけを画面表示することのできる機能です。

ただ、このフィルターは、一時的に特定のデータを非表示にしているだけで、データそのものが削除されるわけではありません。

そのため、非表示になっているセルデータを参照した数式があった場合、フィルターを適用する前と後とでは特に結果は変わりません。

例えば、下の図はあるスポーツ用品点の売上を管理する表ですが、セルJ5に売上金額の合計値が表示されています。

35-1-1

では、続いてフィルターを利用して商品名「テニスラケット」のデータのみを表示してみます。結果、セルJ5の数値には変化はありません。

35-1-2

ただ、場合によってはフィルターの結果と計算結果を連動させ、現在表示中のデータのみを計算の対象にできたほうが都合のいい時があるかもしれません。

このよう場合に利用する関数が「SUBTOTAL」関数です。

SUBTOTAL関数とは

このSUBTOTAL関数は、1つの関数で、「平均」や「データの個数」、「最大値」や「最小値」、「合計」など、さまざまな値を求めることのできる関数です

加えて、フィルターによって非表示になっているセルデータを無視するという特徴を持っています。

SUBTOTAL関数の使い方

まず、SUBTOTAL関数を利用して値を求めたいセル(例ではJ5)をアクティブにします。

そして「数式」タブのリボン内にある「数学/三角」ボタンをクリックし、表示されたメニューから「SUBTOTAL」をクリックします。

35-1-3

続いて、表示される「関数の引数」画面に各引数を指定します。

第1引数の「集計方法」では、SUBTOTAL関数で「どのような計算をしたいか?」を決められた数値で指定します。

各計算方法に対応した数値(主要なもののみ)は次の通りです。

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

今回の例では合計を求めたいので「9」を指定します。

そして、第2引数の「参照1」では、対象となるセル範囲を指定します。

今回の例では売上金額の合計を求めるので「H5:H49」を指定します。

35-1-4

そして、「OK」ボタンをクリックすると、計算結果が表示されます。

35-1-5

現在はSUM関数による合計と同じ数値になっています。

ではフィルターで商品名「テニスラケット」のデータのみを表示してみるとどうでしょう。

結果、セルJ5の数値は変化し、現在表示中の商品名「テニスラケット」のデータのみの合計となっています。

35-1-6

まとめ

このようにSUBTOTAL関数を利用することで、フィルターと計算結果とが連動し、フィルターの状況に応じて計算結果を変えることができます。

ピポットテーブルと組み合わせると力が発揮するのですが、少し覚えるのが難しい関数かもしれませんね。