COUNTIF / COUNTIFS が動かない6つの原因と解決法【上から順に試せばOK】
「COUNTIF を書いたのに結果が 0 になる…」
「期待してた件数より少ない…」
「COUNTIFS で #VALUE! が出る…」
💡 関連記事:
- SUMIF / SUMIFS が動かない6つの原因と解決法 ← 「合計」版・原因のパターンが似ている
- VLOOKUPで#N/Aが出る5つの原因と解決法 ← 検索系で困っている人向け
- Excelの主要エラー6種【症状→原因→解決の早見表】
症状
COUNTIFが0になる、件数が期待と合わない、#VALUE!や#NAME?が出る——そんな状態になっている。
即答
COUNTIFが動かないときは「読めない文字・余白・範囲サイズ・クォート・ワイルドカード・空白仕様」の6パターンを上から順に確認する。これで絞り込めないときは、再計算と文字列扱いも疑う。
なぜ起きるのか
COUNTIFは、数字として読める文字列を数値として扱ったうえで値が一致するセルを数える。そのため見えない文字が混じると数えられなくなり、逆に書き方の違う数字はまとめて数えられる。
確認手順
エラーの症状から最初に確認すべき節へ進んでください。「あなたのケースはどれ?」で原因を絞れます。
- 結果が0 / 件数が少ない → 「① 読めない文字」か「② 余白・改行」を確認
- #VALUE!が出る → 「③ COUNTIFSの範囲サイズ」を確認
- #NAME?が出る → 「④ 関数名のつづり・条件の書き方」を確認
- 件数が期待と違う(0ではない) → 「⑤ ワイルドカード」か「⑥ 空白・重複の仕様」を確認
- 数式は合っているのに更新されない → 「おまけ:再計算・文字列扱い」を確認

まずはCOUNTIFとCOUNTIFSの基本(30秒で確認)
COUNTIFは2引数、COUNTIFSは条件ペアを複数指定できる。どちらも合計範囲は不要だ。
=COUNTIF(条件範囲, 条件)
=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, ...)
COUNTIF と COUNTIFS は引数構造がシンプル ですが、注意点があります:
COUNTIFは 条件範囲 → 条件 の2引数だけCOUNTIFSは 条件範囲と条件のペアを複数指定 できる- どちらも 合計範囲は不要(数えるだけだから)
📌 ポイント: 条件1つなら COUNTIF、複数なら COUNTIFS。SUMIFと違って引数の順番に「合計範囲」が混ざらないので、ペアで素直に並べるだけです。複数条件ごとの件数・合計を一覧で見たい場合は、数式ではなく ピボットテーブルを使った集計 が手軽なこともあります。
まず疑うべき3つの原因(上から順に確認)
「読めない文字・余白・範囲サイズ不一致」の3パターンを、まずこの順で確認する。
COUNTIF / COUNTIFS が思い通りに動かないとき、最初に当たるのがこの3つです。
上から順番に確認 してください。
① 数字として読めない文字が混じっている
COUNTIFは数字として読める文字列を数値として数えるが、数字として読めない文字が混じると一致しなくなり0になる。
よく言われる「文字列の 1001 と数値の 1001 は一致しない」は、COUNTIF では起きません。COUNTIF は条件側・範囲側のどちらについても、数字として読める文字列を数値として扱います(Microsoft Q&A)。
| 範囲のセルの中身 | =COUNTIF(範囲, 1001) |
|---|---|
1001(数値) | 数える |
"1001"(文字列) | 数える |
"01001"(先頭ゼロ付き) | 数える |
"1,001"(桁区切り付き) | 数える |
"1001"(全角数字) | 数える |
"1001A"(数字以外が混入) | 数えない |
"1001" + CHAR(160)(改行なしスペース混入) | 数えない |
症状
- 見た目は同じ数字なのに
0になる - Webページや別システムからコピペしたデータで起きやすい
確認方法
=ISNUMBER(A2) ← FALSE なら数値ではない
=ISTEXT(A2) ← TRUE なら文字列
=LEN(A2) ← 「1001」なのに 5 なら1文字余分に入っている
ISNUMBERがFALSEでも文字列とは限りません(空セル・論理値・エラー値もFALSE)。文字列だと確かめたいときはISTEXTを併せて見てください。
解決方法
作業列で余分な文字を落としてから数えます。
=TRIM(SUBSTITUTE(A2,CHAR(160)," "))
この作業列を COUNTIF の条件範囲に指定します(条件範囲そのものに TRIM を書くことはできません → ②)。
文字列として保存された数値そのものをまとめて数値に直したいときは 数式が計算されない・=SUMがそのまま表示される を参照してください。
ただし、この式が落とせるのは 前後に付いたスペース(改行なしスペース CHAR(160) を含む)です。数字の途中に入ったスペースは1つ残りますし、1001A のように 数字以外の文字が入っている 場合も落とせません。どちらも元データ側を直してください。
逆に「数えすぎ」になることもある
1001 / 1,001 / 01001 が混ざった列に =COUNTIF(範囲, 1001) を書くと、書き方の違う数字をまとめて数えます。「件数が多すぎる」ときはここを疑ってください。
書き方まで含めて厳密に一致するものだけを数えたいときは SUMPRODUCT を使います。
=SUMPRODUCT(--(A2:A5=D2))
文字列の "1001" と数値の 1001 は別物として扱われるため、COUNTIF とは違う結果になります。

📌 ポイント:
COUNTIFと違い、VLOOKUPは型を厳密に区別します(文字列の1001と数値の1001は一致せず#N/A)。同じデータでも関数によって結果が変わるので、VLOOKUPで困っている場合は VLOOKUPで#N/Aが出る5つの原因 を見てください。
② 見えない余白・改行が混じっている
末尾スペースや改行が混入すると完全一致に失敗し、件数が期待より少なくなる。
「目視では同じなのに数えられない」場合、スペースや改行が混入している 可能性が高いです。
症状
- 条件が
"商品A"なのに、表側が"商品A "(末尾に半角スペース) - 別システムからのコピペデータでよく発生
- 結果が「期待より少ない」など中途半端な値になる
確認方法
セルをダブルクリックして、カーソルキーで末尾まで移動してみる。 余分な余白があると気づけます。
解決方法
TRIM関数 で範囲側をクリーンアップした作業列を作るのが鉄板です。
=TRIM(A2)
この作業列を作ってから COUNTIF の条件範囲に指定します。
直接 COUNTIF の条件範囲(第1引数)側で TRIM することは できません(入力しても数式として受け付けられません)。条件側=第2引数に TRIM(D2) と書くこと自体は可能です。
📌 ポイント:
TRIMは前後のスペースを 半角・全角どちらも 除去します(先頭の全角スペースも消えます)。ただし落とし穴が2つあります。
- 語間のスペースは1つだけ残る —
"商品 A"は"商品 A"になります。語間まで消したいときはSUBSTITUTEで置き換えてください。- 改行なしスペース(
CHAR(160))はTRIMでは消えない — Webページからコピーしたデータで混入しがちです(Microsoft: TRIM 関数)。どちらのケースも
SUBSTITUTEで先に潰してからTRIMします。=TRIM(SUBSTITUTE(SUBSTITUTE(A2," ",""),CHAR(160)," "))
③ COUNTIFSの範囲サイズが揃っていない
COUNTIFSで条件範囲のサイズが揃っていないと#VALUE!になる。全範囲を同じ行数に揃える。
COUNTIFS には 致命的な仕様 があります。
すべての条件範囲は 同じサイズ(同じ行数・列数) でなければならない
症状
#VALUE!エラーが出る
ダメな例
=COUNTIFS(A2:A100, "商品A", B2:B50, "東京")
↑ ここだけ B2:B50 で範囲が短い
正しい例
=COUNTIFS(A2:A100, "商品A", B2:B100, "東京")
解決方法
すべての範囲を 同じ開始行・終了行 に揃えてください。 列全体を指定する方法も使えます:
=COUNTIFS(A:A, "商品A", B:B, "東京")
📌 ポイント: 列全体(
A:Aなど)を使うと範囲ズレの心配が消えますが、データ量が多いと処理が重くなることがあります。実務では$A$2:$A$1000のように 絶対参照+十分な行数 を確保する書き方も定番。

【実務でこれが起きた場面】
工場の月次棚卸シートで、前任者から引き継いだCOUNTIFSが突然「更新されない」というトラブルに遭遇した。数式を確認しても正しく、データも正常に入力されているのに、品番ごとの件数が前日のまま変わらない。半日かけてデータを手動で突き合わせたが原因がわからず、最後に試したF9キーで数字が動いて解決した。Excelが「手動計算モード」になっていたのが原因で、前任者が行数の多い重いシートの処理速度を上げるために切り替えたまま引き継いでいた。手動計算モードかどうかは、F9キーを押して数字が動くかで切り分けられる。F9キーを試すか、計算方法の設定を「自動」に戻せば解消できる。このパターンはシートを引き継いだ直後に起きやすく、データ修正より先にF9キーを試す習慣が実務では有効だ。
それでも直らないときの中級チェック
御三家で絞れない場合は、クォート・ワイルドカード・空白仕様の3つを順に確認する。
御三家で原因が特定できないときは、以下を疑います。
④ 比較演算子のクォート忘れ
「>=80」のような条件式はクォートで囲まないと、そもそも数式として受け付けられない。#NAME? は別の原因で出る。
「80以上」や「東京以外」のような 条件式 は 文字列として クォートで囲む必要があります。
ダメな例
=COUNTIF(A2:A100, >=80) ← >=80 がクォートされていない
正しい例
=COUNTIF(A2:A100, ">=80")
=COUNTIF(A2:A100, "<>東京")
セル参照を組み合わせるとき は、演算子だけクォートして & で連結します。
=COUNTIF(A2:A100, ">="&D1)
これは「D1 の値以上のもの件数」という意味。
📌 ポイント: 「
>=を含む条件」「<>を含む条件」は 必ずクォートが必要 です。クォートを忘れると、その式は数式として受け付けられず、計算結果が返りません(#NAME?のようなエラー値も返りません)。
#NAME? が出たときに疑うこと
#NAME?は Excel が解決できない名前がある ときのエラーです。典型は=COUNTIFF(...)のような 関数名のつづり間違い。- 比較演算子のクォート忘れでは
#NAME?は出ません。 - クォートを付け忘れた語を COUNTIF の条件(第2引数) に書いた場合(
=COUNTIF(A2:A5,abc))は、#NAME?ではなく0が返ります。同じ書き間違いでも=IF(A2=東京,…)では、Excel が東京という名前を解決できず#NAME?になります。 #NAME?全般は Excelの主要エラー6種 にまとめています。

⑤ ワイルドカード(* ?)と完全一致の混同
COUNTIFはデフォルトで完全一致だが、「*」「?」を使えば部分一致になる。
COUNTIF / COUNTIFS は デフォルトで完全一致 ですが、ワイルドカードも使えます。
ワイルドカードの意味
| 記号 | 意味 |
|---|---|
* | 任意の文字(0文字以上) |
? | 任意の1文字 |
~* / ~? | * / ? 自体を検索したいとき(エスケープ) |
部分一致したいとき
=COUNTIF(A2:A100, "商品*") ← "商品" で始まる
=COUNTIF(A2:A100, "*東京*") ← "東京" を含む
=COUNTIF(A2:A100, "*店") ← "店" で終わる
📌 ポイント: 部分一致で数えたいのに完全一致で書いている、または逆に完全一致のつもりが
*を含む文字列が予想外にヒット…のパターンが多いです。

⑥ 空白セル・重複・大文字小文字の落とし穴
COUNTIFは大文字小文字を区別せず、重複があればその個数分だけカウントする。
仕様を勘違いしやすい3つのケース。
空白セルを数える / 除外する
=COUNTBLANK(A2:A100) ← 空白セルの個数
=COUNTIF(A2:A100, "<>") ← 何か入力があるセルの個数
=COUNTA(A2:A100) ← 空白でないセルの個数(文字列・数値問わず)
COUNTIF(A2:A100,"") は、完全な空セルも、数式が返す "" も、どちらも数えます。両者で差が出るのは COUNTA(="" は数えるが完全な空セルは数えない)と ISBLANK(="" に対して FALSE)です。

重複は どちらもカウントされる
=COUNTIF(A:A, "商品A") は「商品A」が10行あれば10と返ります。ユニーク数を数えたい ときは別の式を使います:
=SUMPRODUCT(1/COUNTIF(A2:A100, A2:A100))
⚠️ この式は範囲内に空白セルがあると
#DIV/0!エラーになります(空白をCOUNTIFが 0 と数え、1/0が発生するため)。
または Microsoft 365 / Excel 2021 以降なら:
=COUNTA(UNIQUE(FILTER(A2:A100, A2:A100<>"")))
⚠️
=COUNTA(UNIQUE(A2:A100))と単純に書くと、空セルも1種類として数えてしまい、ユニーク数が1多く出ます(エラーにならないぶん気づきにくい)。上のようにFILTERで空を除いてからUNIQUEにかけてください。
大文字小文字は 区別されない
"abc" と "ABC" は同じ扱い。区別したい場合は SUMPRODUCT + EXACT を使います。
=SUMPRODUCT(--EXACT(A2:A100, "ABC"))
おまけ:式は合っているのに結果が反映・更新されない
数式が正しいのに更新されない場合は、手動計算モードかセルの文字列扱いが原因だ。
「数式は正しいはずなのに、元データを直しても 件数が古いまま変わらない」「反映されない・更新されない」ときは、原因が2つ考えられます。
原因1:手動計算モードになっている
Excel が 手動計算モード になっていると、データを書き換えても数式が自動で再計算されません。COUNTIF 自体は正しいのに、結果だけが古い値のまま固まります。
戻し方は次のどちらかです。
F9キー を押す(開いている全ブックを再計算)- 「数式」タブ →「計算方法の設定」→「自動」 を選ぶ(恒久的に自動再計算へ戻す。表示の場所はお使いの画面によって異なります)
📌 ポイント: 一度だけ更新したいなら
F9、今後ずっと自動に戻したいなら 「数式」タブ →「計算方法の設定」→「自動」 です。シートのどこを直しても結果が動かないときは、まずここを疑ってください。
原因2:セル自体が文字列扱いで、数式が文字列として表示されている
=COUNTIF(...) と入力したのに、計算結果ではなく 数式の文字がそのまま表示される 場合は、そのセルが文字列扱いになっています。これは COUNTIF 固有の問題ではなく、数式全般で起きるトラブルです。直し方は 数式が計算されない・=SUMがそのまま表示される で詳しく解説しています。
まとめ:判断フロー
エラーの種類(0/#VALUE!/#NAME?/期待値違い)で確認すべき原因が決まる。
| 順番 | 疑うこと | 解決の道具 |
|---|---|---|
| ① | 数字として読めない文字 | ISTEXT LEN で確認 → 作業列で除去 |
| ② | 見えない余白・改行 | TRIM の作業列 |
| ③ | COUNTIFS の範囲サイズ | 全範囲を同じ行数に揃える |
| ④ | 比較演算子のクォート漏れ | ">=80" のように文字列化 |
| ⑤ | ワイルドカード | * ? ~* の意味を確認 |
| ⑥ | 空白・重複・大文字 | COUNTBLANK / COUNTA / FILTER+UNIQUE / EXACT |
この順番で確認すれば、原因を絞り込めます。
よくある質問
日付・空白・重複・大文字小文字に関するよくある疑問への回答をまとめた。
Q. COUNTIFS と COUNTIF、どちらを覚えるべき?
COUNTIFSを覚えれば十分。条件1つでもCOUNTIFSで書けるので統一できる。
A. COUNTIFS を覚えれば十分 です。条件1つでも COUNTIFS で書けるので、統一感が出てメンテナンスしやすくなります。
Q. 「○○以外」をカウントしたい
<> 演算子を使う。範囲に空セルが含まれるとそれも数えるので、データのある行までに範囲を絞る。
A. =COUNTIF(A2:A100, "<>東京") のように <> を使います。列全体(A:A)では使わないでください — 空セルまで「東京以外」として数え、100万件を超える数が返ります。これは列全体に限った話ではなく、指定した範囲の中の空セルも同じように数えられます(データが3件でも A2:A100 なら空行の分まで乗ります)。データのある行までに範囲を絞ってください。一方、値を付けない "<>"(空白以外の個数)は空セルを数えないので、=COUNTIF(A:A, "<>") は列全体でも問題ありません。
Q. 日付の範囲(ある月・期間)で件数を数えたい
COUNTIFSに ">="&DATE(...) と "<"&DATE(...) を組み合わせて期間を挟む。
A. COUNTIFS で期間の上限・下限を指定 します。日付は数値(シリアル値)なので、比較演算子と DATE() 関数を & で連結して書くのが安全です。たとえば「2026年1月に入った件数」は次のように書きます。
=COUNTIFS(A:A, ">="&DATE(2026,1,1), A:A, "<"&DATE(2026,2,1))
「1月1日以上 かつ 2月1日未満」で1月分だけを数える書き方です。月末日を <=DATE(2026,1,31) と直接書くより、翌月1日を < で区切る ほうが時刻付きデータでも取りこぼしません。
⚠️ 件数が 0 になるときは、集計対象の日付そのものが「文字列の日付」(
=ISNUMBER(セル)がFALSEになる)になっている可能性があります。その場合は 日付が数字になる・直らないときの直し方 で本物の日付に直してから数えてください。
Q. 結果がどうしても合わない…
この手順で直らない場合はレアケースの可能性があり、AIサポートでの切り分けが近道だ。
記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。AIサポートで対話的に原因を切り分けてみてください。
無料ダウンロード・登録不要のメールだけ
Excelの「詰まりどころ」早見表を1枚に。
COUNTIF・SUMIF・#N/A・エラー6種の《症状→原因→即対応》をA4一枚に凝縮。印刷して手元に。
次に読む
SUMIF / SUMIFS が動かない6つの原因と解決法【上から順に試せばOK】
SUMIF・SUMIFSの結果が0になる、#VALUE!が出る、期待値と違う…そんなときの原因を6パターン解説。合計範囲の型・余白・範囲サイズ・比較演算子・ワイルドカード・日付の順で上から確認すれば、原因を絞り込めます。SUMIFとSUMIFSの違いも整理。
数式がそのまま表示される・計算されない【4つの原因で切り分け】
「=SUM」が文字のまま表示される、緑の三角が消えない、一部だけ計算されない、シート全体の数式が急に表示される…そんなときの原因は主に4パターン。セルが文字列書式・先頭にアポストロフィ・手動計算モード・「数式の表示」モードを症状から切り分けて直す方法を、初心者向けにまとめました。
Excelの主要エラー6種【症状→原因→解決の早見表】
#VALUE! #REF! #DIV/0! #NAME? #NULL! #N/A の6種のExcelエラーを、症状から逆引きできる早見表+解決法で整理。「どのエラーがなぜ出るのか」と最短の直し方を、エラー記号ごとに初心者向けにまとめました。