「”出席”って入力されたセルを数えたいんだけど、手で数えるしかないの?」と思ったことはありませんか。データが増えるほど目視で拾うのは大変ですし、数え間違いも心配ですよね。
そんなときに使えるのがCOUNTIF関数です。条件を1つ指定するだけで、範囲内の一致するセルの個数を一瞬で返してくれます。
この記事では、COUNTIF関数の基本から実務での活用パターンまでまとめて解説します。条件指定のバリエーションやエラー対処法もカバーしています。
この記事は次のような人におすすめ
- 特定の文字列や数値に一致するセルの個数を数えたい
- ワイルドカードを使ったあいまい検索で数えたい
- 重複データのチェックにCOUNTIF関数を活用したい
- COUNTIF関数とCOUNTIFS関数の違いがよくわからない
COUNTIF関数とは?
COUNTIF関数は、指定した範囲内で条件に一致するセルの個数を返す関数です。読み方は「カウントイフ」で、COUNT(数える)+ IF(もし)が由来です。
たとえば、出欠表の回答欄に「出席」と入力されたセルが何個あるか数えたいとします。COUNTIF関数なら条件を1つ書くだけで、一致するセルの個数がすぐにわかります。
ポイントは条件を1つだけ指定できるという点です。「80点以上」「”東京”を含む」のように、文字列一致・数値比較・ワイルドカードなど条件の幅が広いのも特長です。
NOTE
COUNTIF関数はExcel 2007以降のすべてのバージョンで使用できます。Googleスプレッドシートでも同じ書式で利用可能です。
COUNTIF関数の書き方(構文と引数)
基本構文
=COUNTIF(範囲, 検索条件)
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 範囲 | 必須 | 条件を検索するセル範囲 |
| 検索条件 | 必須 | カウントの条件(文字列・数値・セル参照・比較式) |
引数は2つだけなので、覚えやすいのもCOUNTIF関数のよいところです。
検索条件の指定パターン
検索条件にはいくつかの書き方があります。ここで整理しておきましょう。
| 条件の種類 | 書き方の例 | 意味 |
|---|---|---|
| 文字列と完全一致 | "出席" | 「出席」と一致するセル |
| セル参照 | E1 | E1の値と一致するセル |
| 数値と比較 | ">=80" | 80以上のセル |
| 以外(不一致) | "<>出席" | 「出席」以外のセル |
| ワイルドカード | "東京" | 「東京」を含むセル |
| ワイルドカード | "山?太郎" | 「山」+任意の1文字+「太郎」に一致 |
数値比較やワイルドカードを使うときは、条件全体をダブルクォーテーションで囲むのがポイントです。
COUNTIF関数の基本的な使い方
ここでは出欠管理表を使って基本的な動作を確認します。
文字列と完全一致するセルを数える
B列に「出席」「欠席」「未定」が入っている場合を考えます。
=COUNTIF(B2:B30, "出席")
B2からB30の中で「出席」と入力されたセルの個数を返します。大文字・小文字は区別されません。
数値を比較してカウントする
C列にテストの点数が入っている場合に、80点以上の人数を数えます。
=COUNTIF(C2:C30, ">=80")
比較演算子(>=, <=, >, <, <>)を使うときは、演算子と数値をまとめてダブルクォーテーションで囲みます。
セル参照を条件にする
条件を直接書く代わりに、別のセルの値を条件にすることもできます。
=COUNTIF(B2:B30, E1)
E1に「出席」と入力しておけば、条件を変えたいときにE1の値を書き換えるだけで済みます。
ワイルドカードであいまい検索する
「東京」を含むセルをすべて数えたいときは、ワイルドカード(*)を使います。
=COUNTIF(A2:A30, "*東京*")
「東京都」「東京支店」「南東京営業所」など、「東京」が含まれるセルをすべてカウントします。任意の1文字だけ許容したいときは?を使います。
COUNTIF関数の実務活用パターン
重複チェック ── 同じ値が2つ以上あるか調べる
データの重複を見つけたいときに便利なテクニックです。名前やコードの列で同じ値が2回以上出現するかを判定します。
=COUNTIF(A:A, A2) > 1
この数式をA2の横のセルに入れると、A列全体でA2と同じ値が2つ以上ある場合にTRUEが返ります。下方向にコピーすれば、重複がある行をまとめて検出できます。
条件付き書式と組み合わせると、重複行を色付きで強調表示できます。「ホーム」タブの「条件付き書式」から「新しいルール」を選びます。数式に =COUNTIF(A:A, A2)>1 を設定してみてください。
出欠集計 ── ステータスごとの人数を数える
出欠表で「出席」「欠席」「未定」の人数をそれぞれ数えるケースです。
=COUNTIF(B2:B50, "出席")
=COUNTIF(B2:B50, "欠席")
=COUNTIF(B2:B50, "未定")
3つの数式を並べるだけで、ステータスごとの集計表が完成します。回答が増えても自動で更新されるので、手動で数え直す必要はありません。
条件付きカウント ── しきい値で分類する
売上データで「目標達成(100万円以上)」の件数を数えるケースです。
=COUNTIF(C2:C100, ">=1000000")
逆に目標未達の件数を知りたい場合は、条件を "<1000000" に変えるだけです。
セル参照を使えば、しきい値を柔軟に変更できます。
=COUNTIF(C2:C100, ">="&E1)
E1に目標額を入力しておけば、値を変えるたびに結果が自動で切り替わります。">="と&でセル参照をつなげるのがポイントです。
空白セルを数える
COUNTIF関数で空白セルを数えることもできます。
=COUNTIF(B2:B30, "")
検索条件に空文字列("")を指定すると空白セルがカウントされます。空白セルのカウント専用のCOUNTBLANK関数もあわせて覚えておくと便利です。
よくあるエラーと対処法
COUNTIF関数自体がエラーを返すケースは多くありません。ただし「結果がおかしい」というトラブルはよく起こります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| カウント結果が0になる | 条件の文字列が全角/半角で不一致 | ASC関数(半角に統一)やJIS関数(全角に統一)で揃える |
| カウント結果が0になる | 数値が文字列として格納されている | 「区切り位置」機能やVALUE関数で数値に変換する |
| カウント結果が多すぎる | 大文字/小文字を区別していない | COUNTIF関数は大文字・小文字を区別しない仕様。区別したい場合はSUMPRODUCT+EXACT関数を使う |
| #VALUE! エラー | 検索条件の文字列が255文字を超えている | 条件を短くするか、SUMPRODUCT関数で代替する |
| 想定と結果が合わない | ワイルドカード文字(*や?)がデータに含まれている | ~* や ~? でエスケープする |
全角・半角の不一致に注意
COUNTIF関数は全角と半角を別の文字として扱います。「ABC」と「ABC」は一致しません。CSVファイルを取り込んだあとに起きやすいトラブルです。
ASC関数で半角に統一するか、JIS関数で全角に統一してから数えると確実です。
ワイルドカードのエスケープ
データに「*」や「?」がそのまま含まれている場合、ワイルドカードとして解釈されてしまいます。文字としてマッチさせたいときは、直前にチルダ(~)を付けてください。
=COUNTIF(A2:A30, "~*")
この数式は「*」という文字が入ったセルだけを数えます。
COUNTIF関数と似た関数の違い・使い分け
COUNT系関数の比較表
| 関数名 | カウント対象 | 条件指定 | 主な用途 |
|---|---|---|---|
| COUNT関数 | 数値セル | なし | 数値の入力数を数える |
| COUNTA関数 | 空白でないセル | なし | 入力済みセルを数える |
| COUNTBLANK関数 | 空白セル | なし | 未入力セルを数える |
| COUNTIF関数 | 条件に合うセル | 1つ | 「出席」や「>=80」など条件付き |
| COUNTIFS関数 | 条件に合うセル | 複数 | 「A組かつ80点以上」など複数条件 |
COUNTIFとCOUNTIFSの違い
もっとも混同しやすいのがこの2つです。
- COUNTIF: 条件を1つだけ指定できる
- COUNTIFS: 条件を複数指定できる(範囲と条件のペアを繰り返す)
「部署が"営業"の人数」ならCOUNTIFで十分です。「部署が"営業"かつ売上100万以上」のように条件が2つ以上になったらCOUNTIFS関数に切り替えましょう。
=COUNTIFS(A2:A30, "営業", C2:C30, ">=1000000")
COUNTIFとSUMIFの違い
条件に一致するセルを「数える」のがCOUNTIF、条件に一致するセルの値を「合計する」のがSUMIF関数です。
=COUNTIF(A2:A30, "営業") …営業の「件数」
=SUMIF(A2:A30, "営業", C2:C30) …営業の「売上合計」
「何件あるか」を知りたいときはCOUNTIF、「いくらあるか」を知りたいときはSUMIFと覚えるとわかりやすいです。
まとめ
COUNTIF関数は「条件に一致するセルの個数を数える」便利な関数です。
- 構文:
=COUNTIF(範囲, 検索条件) - 文字列一致・数値比較・ワイルドカードなど条件の幅が広い
- 重複チェック・出欠集計・しきい値分類など実務で活躍する場面が多い
- 条件が2つ以上必要ならCOUNTIFS関数に切り替える
- 条件に一致する値を合計したいときはSUMIF関数を使う
まずは「特定の文字列を数える」ところから試してみてください。条件の書き方を覚えるだけで、集計作業がぐっとラクになりますよ。
Excel関数一覧
関数の一覧は以下の記事からどうぞ。
エラー値についてのまとめ記事
エラーの種類と対処方法をまとめています。
