※購入先、ダウンロードへのリンクにはアフィリエイトタグが含まれており、それらの購入や会員の成約、ダウンロードなどからの収益化を行う場合があります。

カウントイフ関数とCOUNTIFSの使い分け|1条件集計を迷わず設計する

「表の中から“条件に合うものだけ”を数えたい」――出欠表の欠席者数、タスクの未対応件数、ステータスが完了の数など、件数集計は日々の業務で何度も発生します。そんなときに便利なのが、カウントイフ関数(COUNTIF)です。

ただ、COUNTIFはシンプルな分だけ、条件の書き方を少し間違えると結果が0になったり、想定より多く数えたりしがちです。たとえば「10以上」を数えたいのに式が合わない、部分一致のつもりが完全一致になっている、空白を数えたいのにうまくいかない――こうしたつまずきには、いくつかの“典型パターン”があります。

本記事では、COUNTIFの基本構文を押さえたうえで、文字列一致・数値比較・日付・部分一致・空白といった条件指定を「テンプレ集」として整理し、迷わず使える状態を目指します。さらに、結果が合わないときの原因チェックや、複数条件が必要になった場合のCOUNTIFSへの切り替え判断まで、実例付きで解説します。読み終えたころには、件数集計で迷う時間が減り、表の数字に自信を持てるようになります。

※本コンテンツは「記事制作ポリシー」に基づき、正確かつ信頼性の高い情報提供を心がけております。万が一、内容に誤りや誤解を招く表現がございましたら、お手数ですが「お問い合わせ」よりご一報ください。速やかに確認・修正いたします。

カウントイフ関数でできることと使う場面

カウントイフ関数(COUNTIF)は、「ある条件に当てはまるセルがいくつあるか」を数えるための関数です。ExcelやGoogleスプレッドシートを使った業務では、合計金額よりも先に「件数」を把握したい場面が数多く存在します。

たとえば、次のようなケースです。

  • 出欠表で「欠席が何人いるか」を知りたい

  • タスク管理表で「未対応が何件残っているか」を把握したい

  • 問い合わせ一覧で「特定の担当者が対応した件数」を集計したい

  • 営業リストで「商談ステータスが完了の件数」を確認したい

これらはすべて、「条件に合うセルの数」を正確に数える必要があります。COUNTIFは、こうした状態・分類・属性ごとの件数集計に特化した関数であり、正しく使えるようになると、集計作業のスピードと正確性が大きく向上します。

一方で、COUNTIFは構文がシンプルな分、条件の書き方を誤ると結果が簡単に崩れるという特徴もあります。特に以下のような点でつまずく人が多く見られます。

  • 条件にダブルクォーテーションを付けるべきか分からない

  • 数値比較なのに文字列として扱われてしまう

  • 空白を数えたいのに数えられない

  • 部分一致のつもりが完全一致になっている

本記事では、こうしたミスを防ぐために、COUNTIFを「なんとなく使う関数」から「意図どおりに制御できる関数」へと引き上げることを目的に解説していきます。

COUNTIFの基本構文と引数の考え方

COUNTIFの基本構文は次のとおりです。

=COUNTIF(範囲, 条件)

引数は2つだけですが、それぞれの意味を正しく理解していないと、集計結果にズレが生じます。

範囲
件数を数えたい対象のセル範囲です。たとえば、A2からA100までのステータス列を数えたい場合は「A2:A100」と指定します。ここで重要なのは、「列全体」ではなく、データが入っている範囲に絞ることです。不要な空白セルを含めると、条件によっては意図しない結果になることがあります。

条件
どのセルを数えるかを決めるルールです。文字列、数値比較、部分一致など、さまざまな指定方法があります。COUNTIFで最もつまずきやすいのがこの条件部分で、「条件は常に文字列として解釈される」という点が重要な考え方になります。

たとえば、「10以上」という条件は数値比較ですが、COUNTIFでは次のように書きます。

">=10"

これは「10以上」という意味を持つ文字列です。演算子と数値をセットで文字列として渡す、という発想がCOUNTIFの基本になります。

Excelとスプレッドシートでの違いはあるか

COUNTIFは、ExcelとGoogleスプレッドシートの両方に搭載されており、基本構文や条件指定の考え方に大きな違いはありません。そのため、どちらか一方を覚えれば、もう一方でもほぼ同じ感覚で使えます。

ただし、実務で使う際には、次のような違いを意識しておくとトラブルを避けやすくなります。

  • Excelでは、別ブック(別ファイル)を参照してCOUNTIFを使うと、参照先が閉じている場合にエラーが出ることがある

  • スプレッドシートではリアルタイム共有が前提のため、再計算や更新の概念がExcelほど意識されにくい

  • 日付や時刻の扱いは、どちらも「見た目」と「実際の値」がズレることがあり、条件指定で差が出ることがある

環境の違い以上に重要なのは、「COUNTIFの条件指定の原理を理解しているかどうか」です。原理が分かっていれば、ツールが変わっても応用が利きます。


カウントイフ関数の条件の書き方テンプレ集

COUNTIFを安定して使えるようになる最大の近道は、条件指定をテンプレとして覚えることです。毎回ゼロから考えるのではなく、「この目的ならこの形」という型を持っておくことで、ミスを大幅に減らせます。

文字列に一致する条件

最も基本的なのが、特定の文字列と完全一致する条件です。

=COUNTIF(A2:A100,"完了")

この式は、A2:A100の中から「完了」という文字列が入っているセルの数を数えます。

ここで注意したいのは、COUNTIFは見た目が同じでも、実際の文字列が違えば一致しないという点です。たとえば、次のような違いはすべて別物として扱われます。

  • 「完了」と「完了 」

  • 全角スペースと半角スペース

  • 全角カタカナと半角カタカナ

「条件に合っているはずなのに数えられない」と感じた場合は、データそのものに余計な空白や表記揺れがないかを確認する必要があります。

また、別のセルの値と一致するかどうかを条件にしたい場合は、次のように書きます。

=COUNTIF(A2:A100,B2)

この場合、B2に入力されている値がそのまま条件になります。条件を直接書くよりも、条件セルを用意した方が式の再利用性が高くなるため、実務ではこちらがよく使われます。

数値を比較する条件と演算子の書き方

数値の大小比較は、COUNTIFで頻繁に使われる一方、最も書き方を間違えやすいポイントです。

基本形は次のとおりです。

  • 10以上:">=10"

  • 10より大きい:">10"

  • 10以下:"<=10"

  • 10未満:"<10"

  • 10ではない:"<>10"

いずれも、演算子と数値をまとめて文字列として指定します。

さらに実務で重要なのが、「比較対象の数値をセル参照にする場合」です。たとえば、「E1に入力された数値以上を数えたい」場合は、次のように書きます。

=COUNTIF(C2:C100,">="&E1)

ここでのポイントは、「>=」と「E1」を&で連結することです。この書き方を知らないと、条件が正しく評価されず、0件になってしまうことがあります。

日付を条件にする時の注意点

日付条件は、COUNTIFの中でも特にトラブルが起きやすい分野です。その理由は、日付が「見た目」と「内部の数値」で管理されているからです。

たとえば、「2025/12/28」と表示されていても、

  • 実際には文字列として入力されている

  • 時刻情報(00:00:00 や 15:30)が含まれている

といったケースがあります。この状態で条件を指定すると、「同じ日付のはずなのに一致しない」という現象が起こります。

安全な書き方の一例が、DATE関数を使う方法です。

=COUNTIF(A2:A100,">="&DATE(2025,12,28))

DATE関数を使えば、確実に「日付の数値」として条件を指定できるため、文字列由来のズレを回避しやすくなります。


カウントイフ関数の部分一致とワイルドカード

完全一致ではなく、「含む」「〇〇で始まる」「〇〇で終わる」といった条件で数えたい場合は、ワイルドカードを使います。

含む 含まない 前方一致 後方一致の型

COUNTIFで使える代表的なワイルドカードは次の2つです。

  • *:任意の文字列(0文字以上)

  • ?:任意の1文字

これらを使うことで、柔軟な条件指定が可能になります。

たとえば、「営業」という文字を含むセルを数えたい場合は、次のように書きます。

=COUNTIF(A2:A100,"*営業*")

前方一致・後方一致も同様です。

  • 前方一致(営業で始まる):"営業*"

  • 後方一致(支店で終わる):"*支店"

「含まない」条件を指定したい場合は、不等号 <> と組み合わせます。

=COUNTIF(A2:A100,"<>*営業*")

この書き方を覚えておくと、除外条件を含む集計がスムーズになります。

アスタリスクやクエスチョンを文字として数えたい時

データによっては、「*」や「?」そのものが文字として含まれている場合があります。たとえば、商品コードや入力規則の記号などです。

この場合、通常の条件指定では、これらがワイルドカードとして解釈されてしまい、意図しない一致が発生します。対処法として代表的なのが、チルダ(~)によるエスケープです。

  • ~*:アスタリスクを文字として扱う

  • ~?:クエスチョンを文字として扱う

たとえば、「*」を含むセルを数えたい場合は、次のように書きます。

=COUNTIF(A2:A100,"*~**")

このように、ワイルドカードを使う場合は「本当に部分一致をしたいのか」「文字として扱うべきか」を一度立ち止まって考えることが重要です。


カウントイフ関数で空白と空白以外を正しく数える

COUNTIFに関する質問で、特に混乱が多いのが「空白の扱い」です。見た目が空でも、COUNTIFの世界では意味が異なるケースがあります。

空白と空文字の違い

空白には、次の2種類があります。

  • 完全な空白:セルに何も入力されていない状態

  • 空文字:数式の結果として "" が入っている状態

どちらも見た目は空ですが、COUNTIFでは挙動が変わることがあります。特に、IF関数などで「条件に合わなければ “” を返す」式が入っている列では、空文字が大量に存在することになります。

空白を数える式の選び方

空白を数える代表的な方法は次のとおりです。

=COUNTIF(A2:A100,"")

ただし、この方法は、空文字が混ざっている場合に意図しない結果になることがあります。その場合、次の書き方も検討します。

=COUNTIF(A2:A100,"=")

どちらが正解かは、「その列にどのようなデータが入る可能性があるか」によって変わります。実務では、実際のデータを見ながら検証し、安定する方を採用する姿勢が重要です。

空白以外を数える式の選び方

空白以外、つまり「何かが入っているセル」を数えたい場合は、次の式が基本になります。

=COUNTIF(A2:A100,"<>")

ただし、ここでも空文字の扱いが問題になります。空文字を「空白扱い」にするのか、「入力あり扱い」にするのかを明確にしてから使うことで、集計のズレを防げます。


カウントイフ関数で結果が合わない時の原因と直し方

COUNTIFの結果が合わないときは、やみくもに式を修正するのではなく、原因を切り分けて確認することが大切です。

0件になる時に多い原因チェック

0件になる場合、次の原因が重なっていることがほとんどです。

  • 条件にダブルクォーテーションが付いていない

  • 演算子と数値の連結ができていない

  • 部分一致なのにワイルドカードがない

  • データが文字列として入っている

一つずつ確認していくことで、多くの問題は解消できます。

#VALUE!が出る時の典型原因

ExcelでCOUNTIFやCOUNTIFSを使っている場合、別ブック参照で#VALUE!が出ることがあります。これは仕様として知られている挙動で、参照先のブックを開くことで解消されます。

「なぜかエラーが出る」場合は、まず参照先ファイルが閉じていないかを確認するのが近道です。

複数条件はCOUNTIFSに切り替える判断基準

COUNTIFは条件が1つだけの関数です。2つ以上の条件を同時に満たす件数を数えたい場合は、COUNTIFSを使います。

ただし、次のような観点で設計を考えると、表が複雑になりにくくなります。

  • 条件が今後増えそうか

  • 他の人が式を見て理解できるか

  • 補助列を使った方が管理しやすくないか

単に「複数条件だからCOUNTIFS」と決めるのではなく、将来の保守性まで含めて判断することが重要です。


カウントイフ関数のFAQ

COUNTIFとCOUNTIFSはどちらを覚えるべきか

最初はCOUNTIFで十分です。条件指定の考え方を理解すれば、COUNTIFSは自然に使えるようになります。まずはCOUNTIFで基礎を固めることをおすすめします。

大文字小文字は区別されるか

通常のCOUNTIFでは、大文字と小文字を区別せずにカウントされます。ただし、入力規則やデータ整形の影響で違って見えることがあるため、「本当に同じ値か」を確認することが大切です。

別シートや別ブック参照の注意点

別シート参照は問題になりにくい一方、別ブック参照はエラーの原因になりやすい点に注意が必要です。集計用ブックとデータ用ブックの役割を明確に分け、運用ルールを決めておくと安定します。