COUNTIF関数とSUBTOTAL関数で非表示セルをカウントしない方法

非表示をカウントしないcountif関数

🔹 本記事のポイント

✅ COUNTIF関数は非表示セルもカウントしてしまう
オートフィルタで隠れたセルを除外するならSUBTOTAL関数が最適
作業列を活用し、より効率的にデータを処理する方法を紹介

🔸 COUNTIF関数の基本|条件に一致するデータをカウント

ExcelのCOUNTIF関数は、指定した条件に一致するセルの個数を数える関数です。

COUNTIF関数の構文

=COUNTIF(範囲, 条件)

COUNTIFの使用例

例えば、次のようなデータがあるとします。

1|                  A列
2|りんご
3|みかん
4|りんご (非表示列)
5|ドラゴンフルーツ
6|ドリアン

この場合、「りんご」の数をカウントするには、以下の数式を入力します。

=COUNTIF(A2:A6, "りんご")

結果は になります。

ここで問題が発生!可視セルだけで集計したいのに、
COUNTIF関数は非表示のデータもカウントしてしまいます。

結果を1としたい!

🔸 COUNTIF関数の問題点|オートフィルタや手動で非表示にしてもカウントされる

COUNTIF関数の最大の弱点は、フィルタや手動で非表示にしたデータもカウントしてしまうことです。
例えば、「みかん」や「ドリアン」だけを表示し、「りんご」をフィルタで非表示にしても、COUNTIF関数は「りんご」を数え続けます。

「非表示データをカウントから除外したい!」
そんなときに活躍するのが SUBTOTAL関数 です。

🔸 SUBTOTAL関数で非表示セルをカウントしない方法

SUBTOTAL関数を使えば、フィルタで非表示にしたデータをカウントから除外できます。

SUBTOTAL関数の構文

=SUBTOTAL(集計方法, 範囲)
集計方法の指定 オートフィルタで非表示になったセル 手動で非表示にしたセル 意味
9 除外する 含める 合計(オートフィルタで非表示になったセルを除外)
109 除外する 除外する 合計(オートフィルタや手動で非表示にしたセルを除外)
  • 9は、オートフィルタで非表示になったセルは 除外 し、手動で非表示にしたセルは 含める 集計方法です。
  • 109は、オートフィルタで非表示になったセルと手動で非表示にしたセルを 両方とも除外 して集計します。

SUBTOTAL関数の使用例

A列 B列 (作業列)
2|りんご 1
3|みかん 1
4|りんご 1
5|ドラゴンフルーツ 1
6|ドリアン 1

🔹 B2:B6のデータを可視セルだけカウントする場合

=SUBTOTAL(109, B2:B6)

オートフィルタや手動で「りんご」を非表示にすると、カウントから除外される!

🔸 効率的なデータ集計術|作業列を活用するべし!

SUBTOTAL関数を使う際に、データを整理しやすくするポイントは 作業列を設けること です。

作業列の設定方法

  1. B列に「フラグ列」を作成
    • COUNTIF関数を使わず、対象のデータがある行に「1」を入力
  2. SUBTOTAL関数でB列をカウント
    • 非表示セルを除外してカウント

作業列を活用するメリット

可視セルだけカウントできる
数式をシンプル