COUNTIF 関数:構文・例・エラーの対処法
2026-10-13 更新 · 無料 · Excel と Google Sheets に対応
構文
=COUNTIF(範囲, 条件)クイック回答
COUNTIF は範囲内のうち 1 つの条件を満たすセルを数えます:=COUNTIF($D$2:$D$500, ">100") なら 100 より大きい数値のセル数を返します。文字列・日付・ワイルドカードにも対応し、大文字小文字は区別しません。結果が 0 になるのは、数値が文字列として保存されているか、条件の引用符忘れがほとんどです。
構文
=COUNTIF(範囲, 条件)| 引数 | 意味 |
|---|---|
| 範囲 | 数える対象のセル:1 列または 1 行。例:$D$2:$D$500。 |
| 条件 | セルが満たすべき条件:数値、二重引用符付きの文字列、">100" のような比較、D2 のようなセル参照。 |
地域設定によっては、引数がカンマではなくセミコロンで区切られます:=COUNTIF($D$2:$D$500; ">100")。カンマを小数点に使う国ではこちらが標準です。
基本例
=COUNTIF($D$2:$D$500, ">100")100 を超える売上を数えます。比較演算子(>、>=、<、<>)は必ず引用符の中に、数値にくっつけて書きます。
=COUNTIF($C$2:$C$500, "New York")「New York」と完全一致するセルを数えます。文字列の条件には必ず二重引用符が必要で、大文字小文字は区別されません:「new york」も同じく数えられます。
=COUNTIF($B$2:$B$500, ">2026-01-01")2026 年 1 月 1 日より後の日付を数えます。比較は引用符の中に書きます。セルは本物の日付値である必要があり、日付に見える文字列では一致しません。
=COUNTIF($A$2:$A$500, "*@gmail.com")@gmail.com で終わるメールアドレスを数えます。* は任意の文字数、? はちょうど 1 文字に一致し、~ は文字としての * や ? をエスケープします。
定番の重複チェックも COUNTIF で作れます:=COUNTIF($A$2:$A$500, A2)>1 は、2 回以上出現するすべての値に TRUE を返します。列の隣にコピーして TRUE を絞り込めば、重複がすべて見えます。
よくあるエラーと修正方法
| 症状 | 最も多い原因 | 修正 |
|---|---|---|
| #NAME? | COUNTIF のスペルミス——または Excel の表示言語が英語以外で、関数名がローカライズされている(CONTAR.SI、NB.SI、ZÄHLENWENN、CONT.SE など)。 | =COUNT( と入力してオートコンプリートに名前を補完させるか、ファイルの言語に合った Excel で開きます。 |
| 結果が常に 0 | 数値が文字列として保存されている、見えない末尾スペース、条件の引用符忘れ(">100" の引用符は必須)。 | 文字列の数値を変換し、スペースを除去し、条件は必ず二重引用符で囲みます。 |
| 文字列が一致しない | セルに見えないスペースが付いている:COUNTIF にとって「NYC 」と「NYC」は別の文字列です。大文字小文字ではなく、スペースが問題です。 | COUNTIF は大文字小文字を無視しますが、スペースは無視しません:数える前に列全体の余分なスペースを削除します。 |
| 日付が数えられない | 「日付」が実は他システムから取り込んだ文字列で、">2026-01-01" が決して一致しない。 | 先に列を本物の日付に変換します——日付の条件は本物の日付値にしか機能しません。 |
末尾スペースはここでも静かな犯人です:エラーは出ずに、カウントだけ少なくなります。数える前にワンクリックで列全体を清掃しましょう。
COUNTIF と COUNTIFS の比較
| COUNTIF | COUNTIFS | |
|---|---|---|
| 1 つの数式に入る条件数 | 1 つ | 2〜127 個 |
| 条件の AND 組み合わせ | 不可 | 可 |
| 条件ごとに別の範囲 | — | 可(範囲のサイズが同じ場合) |
| 使える環境 | すべての Excel バージョン(Google Sheets も) | Excel 2007 以降(Google Sheets も) |
=COUNTIFS($C$2:$C$500, "New York", $D$2:$D$500, ">100")2 つの条件を同時に満たす必要が出た瞬間——たとえば「ニューヨークで売上 100 超」——は COUNTIFS に切り替えます。単体の COUNT は数値のみ、COUNTA は空でないセルを数えます。条件付きの集計はすべて COUNTIF と COUNTIFS が担います。
Google Sheets での COUNTIF
Google Sheets は Excel と同じ引数の COUNTIF をサポートしています——上の数式はそのまま貼り付けて使えます。
- 比較演算子・ワイルドカード・大文字小文字を無視する一致は、Sheets でも同じ動作です。
- カンマを小数点に使う地域設定(ヨーロッパとラテンアメリカの多く)では、引数の間にセミコロンを書きます:=COUNTIF($D$2:$D$500; ">100")。Excel も同じです。
- Google Sheets にも COUNTIFS があり、ルールは同じ——複数条件のカウントは両アプリで共通です。
- Sheets には COUNTUNIQUE があり、重複しない値の個数を直接数えられます。Excel では SUMPRODUCT の技か専用ツールが必要です。
制限と上級テクニック
- COUNTIF は 2 つの範囲を 1 行ずつ比較できません(D 列が E 列より大きい行を数える等)——SUMPRODUCT(($D$2:$D$500>$E$2:$E$500)*1) が必要です。
- 条件は 1 つだけ。OR ロジックは 2 つの COUNTIF を足します:=COUNTIF(範囲, ">100")+COUNTIF(範囲, "<0")。
- セルの色では数えられません——色でフィルターしてステータスバーを見るか、補助列を追加します。
- $ で範囲を固定($D$2:$D$500)すれば、数式を下にコピーしても範囲がずれません。
- COUNTIF だけで一意の値を数えるのは不自然で、大きな範囲では遅い——一意値の抽出ツールに任せた方が早いです。
重複の発見は第一歩にすぎません:見つけたら一括で削除しましょう。下の無料ツールなら数式なしで片付きます。
関連ツール
関連関数
よくある質問
Excel の COUNTIF は何をする関数?
範囲内のうち 1 つの条件を満たすセルを数えます——しきい値より大きい数値、完全一致の文字列、期日より前の日付、ワイルドカードパターン:=COUNTIF($D$2:$D$500, ">100")。一致判定は大文字小文字を区別せず、1 つの数式で扱える条件は 1 つだけです。
ある数値より大きいセルを数えるには?
演算子を引用符付きの条件の中に書きます:=COUNTIF($D$2:$D$500, ">100")。引用符は必須です——なければ Excel は >100 を不正な数式として扱います。以上は >=、セル参照をつなげるには & を使います:">"&D1。
COUNTIF が 0 を返すのはなぜ?
ほぼ常にデータ側の問題です:文字列として保存された数値、見えない末尾スペース、条件の引用符忘れ。VALUE() で文字列の数値を変換し、スペースを除去し、「New York」が本当に二重引用符で囲まれているか確認しましょう。
COUNTIF は大文字小文字を区別する?
しません——「NYC」「nyc」「Nyc」は同じ値として扱われます。大文字小文字を区別して数えたい場合は、SUMPRODUCT と EXACT を組み合わせます:=SUMPRODUCT(--EXACT(範囲, "NYC"))。
COUNTIF のワイルドカードの使い方は?
* は任意の文字数、? はちょうど 1 文字に一致します:=COUNTIF($A$2:$A$500, "*@gmail.com") で Gmail アドレスを数えられます。文字としてのアスタリスクや疑問符に一致させたい場合は、チルダでエスケープします:~* または ~?。
COUNTIFS を使うべきときは?
2 つ以上の条件がすべて成立しなければならないときです:=COUNTIFS($C$2:$C$500, "New York", $D$2:$D$500, ">100")。COUNTIF は条件 1 つ、COUNTIFS は 2〜127 個を扱い、Excel 2007 以降と Google Sheets の両方で使えます。
COUNTIF は Google Sheets でも使える?
使えます——関数名・引数・ワイルドカード・大文字小文字を無視する一致はすべて同じです。カンマを小数点に使う地域設定では引数の区切りがセミコロンになるだけです:=COUNTIF($D$2:$D$500; ">100")。
自分のファイルで試す準備はできましたか?
Excelの重複行を削除を開く — 無料