この記事ではSUBTOTAL関数を用いて、非表示セルを除外して集計する方法を紹介します。
SUM関数やAVERAGE関数では非表示設定がされている行や列も集計してしまいます。これらはSUBTOTAL関数で集計対象より除外することが可能です。
集計のテーマ
以下のようなサンプル表をご覧ください。
金額 | |
---|---|
店舗1 | 500 |
店舗2 | 300 |
店舗3 | 400 |
店舗4 | 200 |
店舗5 | 700 |
店舗6 | 600 |
合計 | |
平均 |
「SUM・AVERAGE・MAX・MIN・COUNT・COUNTA・PRODUCT」といった関数を使うと範囲内を集計することができますね。
例えば下図のセルB9ではB2:B7をSUM関数で集計しています。B10ではAVERAGE関数での集計です。
しかし通常では非表示設定をしたセル・行・列も集計対象となってしまいます。
偶数番号の店舗を非表示にしましたがセルB9:B10の集計結果には影響がありません。
「通常では非表示セルも集計対象となる」のです。
※行を非表示とするには、行番号を右クリックして「非表示」をします。
SUBTOTAL関数で非表示セルを除外して集計する
非表示セルを集計対象から除外するにはSUBTOTAL関数を使います。
非表示部を再表示してから作り直してみます。
「=su…」と入力すれば「SUBTOTAL」が出現します。選択して{Tab}キーを使うと採用されます({Enter}キーではない)。
SUBTOTAL関数の書式は
=SUBTOTAL(集計方法,参照)
となります。[参照]とは集計対象とする範囲です。[集計方法]にはSUMするのかAVERAGEするのか、…ということを番号で指定します。「109→SUM」「101→AVERAGE」となります。
最初に集計方法を指定します。非表示セルを除外する集計をする場合には3桁の「100以上」の集計方法を指定します。SUMなら「109」としましょう。
「9」もSUMですが、1桁と2桁の番号は非表示セルを集計対象としてしまいます。
「109」のあとにはカンマ(,)を入れます。カンマのあとには集計対象とする範囲を指定しましょう。
完成しました。
集計方法に「101」を使えば「AVERAGE」になります。
店舗番号が偶数の行を非表示にしてみました。
集計対象から除外されています。
B9の式
=SUBTOTAL(109,B2:B7)
B10の式
=SUBTOTAL(101,B2:B7)
集計方法番号の一覧
1桁、2桁番号では非表示セルも集計対象になります。
以下の3桁番号は非表示セルを集計対象から除外します。
数値 | 集計方法 |
---|---|
101 | AVERAGE |
102 | COUNT |
103 | COUNTA |
104 | MAX |
105 | MIN |
106 | PRODUCT |
107 | STDEV |
108 | STDEVP |
109 | SUM |
110 | VAR |
111 | VARP |
コメント