
🔹 本記事のポイント
✅ COUNTIF関数は非表示セルもカウントしてしまう
✅ オートフィルタで隠れたセルを除外するならSUBTOTAL関数が最適
✅ 作業列を活用し、より効率的にデータを処理する方法を紹介
🔸 COUNTIF関数の基本|条件に一致するデータをカウント
ExcelのCOUNTIF関数は、指定した条件に一致するセルの個数を数える関数です。
COUNTIF関数の構文
COUNTIFの使用例
例えば、次のようなデータがあるとします。
1| A列 |
---|
2|りんご |
3|みかん |
4|りんご (非表示列) |
5|ドラゴンフルーツ |
6|ドリアン |
この場合、「りんご」の数をカウントするには、以下の数式を入力します。
結果は 2 になります。
ここで問題が発生!可視セルだけで集計したいのに、
COUNTIF関数は非表示のデータもカウントしてしまいます。
結果を1としたい!
🔸 COUNTIF関数の問題点|オートフィルタや手動で非表示にしてもカウントされる
COUNTIF関数の最大の弱点は、フィルタや手動で非表示にしたデータもカウントしてしまうことです。
例えば、「みかん」や「ドリアン」だけを表示し、「りんご」をフィルタで非表示にしても、COUNTIF関数は「りんご」を数え続けます。
「非表示データをカウントから除外したい!」
そんなときに活躍するのが SUBTOTAL関数 です。
🔸 SUBTOTAL関数で非表示セルをカウントしない方法
SUBTOTAL関数を使えば、フィルタで非表示にしたデータをカウントから除外できます。
SUBTOTAL関数の構文
集計方法の指定 | オートフィルタで非表示になったセル | 手動で非表示にしたセル | 意味 |
---|---|---|---|
9 | 除外する | 含める | 合計(オートフィルタで非表示になったセルを除外) |
109 | 除外する | 除外する | 合計(オートフィルタや手動で非表示にしたセルを除外) |
- 9は、オートフィルタで非表示になったセルは 除外 し、手動で非表示にしたセルは 含める 集計方法です。
- 109は、オートフィルタで非表示になったセルと手動で非表示にしたセルを 両方とも除外 して集計します。
SUBTOTAL関数の使用例
A列 | B列 (作業列) |
---|---|
2|りんご | 1 |
3|みかん | 1 |
4|りんご | 1 |
5|ドラゴンフルーツ | 1 |
6|ドリアン | 1 |
🔹 B2:B6のデータを可視セルだけカウントする場合
✅ オートフィルタや手動で「りんご」を非表示にすると、カウントから除外される!
🔸 効率的なデータ集計術|作業列を活用するべし!
SUBTOTAL関数を使う際に、データを整理しやすくするポイントは 作業列を設けること です。
作業列の設定方法
- B列に「フラグ列」を作成
- COUNTIF関数を使わず、対象のデータがある行に「1」を入力
- SUBTOTAL関数でB列をカウント
- 非表示セルを除外してカウント
作業列を活用するメリット
✅ 可視セルだけカウントできる
✅ 数式をシンプル