スプレッドシートで日々の業務を行っていると、「特定の条件に一致するデータだけを数えたい」という場面によく遭遇しますよね。たとえば、アンケート結果から「満足」と回答した人の数を集計したり、顧客リストから特定の地域の人数を把握したりといった具合です。こんな時に大活躍するのが、カウントイフ(COUNTIF)関数です。条件に合うセルの数を自動でカウントしてくれるこの機能は、データ集計の効率を飛躍的に高めてくれます。まずは、その基本的な使い方からマスターしていきましょう。

使い方と基礎的な構文の解説
スプレッドシートのカウントイフ関数を使うための基本構文は非常にシンプルです。まずはここをしっかり押さえておきましょう。
基本構文は =COUNTIF(範囲, 条件) となります。
- 範囲: カウントの対象となるセル範囲を指定します。(例:A1:A10)
- 条件: どのようなデータを数えるかの基準を指定します。(例:”りんご”, “>100″)
たとえば、A1からA10のセルの中に「りんご」という文字が入力されているセルがいくつあるかを数えたい場合は、セルに =COUNTIF(A1:A10, "りんご") と入力します。文字列を条件にする場合は、必ずダブルクォーテーション(””)で囲むのを忘れないようにしてくださいね。
関数の入力のコツ
関数を手入力するのが面倒な場合は、スプレッドシートのメニューバーにある「関数(Σのアイコン)」ボタンから挿入することも可能です。「統計」カテゴリの中にCOUNTIFがありますよ。
指定した文字列と完全一致する集計
特定の文字列と「完全に一致する」セルだけを数えたい場合は、先ほど紹介した基本構文をそのまま使えばOKです。この方法は、商品ごとの販売数をカウントしたり、ステータス(「完了」「進行中」など)を管理したりする際に非常に便利です。
実例:出席者のカウント
B列に出席状況が入力されているとします。
| 行番号 | B列 (出席状況) |
|---|---|
| 2 | 出席 |
| 3 | 欠席 |
| 4 | 出席 |
| 5 | 保留 |
| 6 | 出席 |
この中から「出席」と入力されている人数を数えたい場合、数式は =COUNTIF(B2:B6, "出席") となります。この数式の結果は「3」となります。
注意点として、「 出席」(先頭にスペースがある)や「出席 」(末尾にスペースがある)のように、見えないスペースが含まれていると完全一致とみなされず、カウントされないことがあります。データ入力時に不要なスペースが入らないように気を付けるか、TRIM関数を使ってあらかじめ余分なスペースを削除しておくのがおすすめです。
特定の文字を含む条件の活用
完全一致だけでなく、「特定の文字が含まれている(部分一致)」セルをカウントしたいケースも多いですよね。たとえば、「東京」が含まれる住所の数を数えたり、「エラー」という文字を含むログを抽出したりする場合です。
このような部分一致の条件を指定するには、ワイルドカード(* や ?)を使用します。
- アスタリスク(*): 任意の長さの文字列を表します。
- クエスチョンマーク(?): 任意の1文字を表します。
使用例:
- 前方一致: “東京*” (「東京」で始まるすべての文字列に一致。例:東京都、東京駅)
- 後方一致: “*株式会社” (「株式会社」で終わるすべての文字列に一致。例:A株式会社、B株式会社)
- 部分一致: “*エラー*” (「エラー」という文字を含むすべての文字列に一致)
たとえば、A列に入力されたメールアドレスの中から、ドメインが「@example.com」のものをカウントしたい場合は、=COUNTIF(A:A, "*@example.com") と記述します。これにより、メールアドレスの前半部分が何であっても、指定のドメインで終わるものをすべて数えることができます。
空白セルを除外するテクニック
データが未入力のセル(空白セル)を除外して、何かしらのデータが入力されているセルだけをカウントしたい場合、いくつかのアプローチがあります。
最も一般的な方法は、“<>”(等しくない)という比較演算子を使用することです。
数式:=COUNTIF(範囲, "<>")
この "<>" は「空白以外」を意味します。つまり、文字であれ数値であれ、何か値が入っていればカウント対象となります。
COUNTA関数との違い
実は、空白以外のセルを数える専用の関数としてCOUNTA関数があります(例:=COUNTA(範囲))。単純に「何かが入力されているセル」を数えるだけであれば、COUNTIFを使うよりもCOUNTA関数を使った方がシンプルで計算負荷も軽いため、用途に応じて使い分けるのがスマートです。
逆に、空白セルだけを数えたい場合は、COUNTIF関数を使って =COUNTIF(範囲, "") と指定するか、専用のCOUNTBLANK関数(例:=COUNTBLANK(範囲))を使用します。
別シートのデータを参照して数える
実際の業務では、集計用のシートとデータが入力されているシートを分けて管理することがよくあります。その場合、COUNTIF関数で別シートの範囲を参照する必要があります。
別シートの範囲を参照するには、シート名の後にエクスクラメーションマーク(!)を付け、その後にセル範囲を記述します。
構文: =COUNTIF(シート名!範囲, 条件)
たとえば、「データ一覧」というシートのA列にある「完了」という文字を、「集計」シートで数えたい場合の数式は以下のようになります。
=COUNTIF('データ一覧'!A:A, "完了")
シート名に関する注意点
シート名にスペースや特殊文字が含まれている場合は、上記の例のようにシート名をシングルクォーテーション(’)で囲む必要があります。囲み忘れると数式エラーになるので注意しましょう。
この別シート参照を活用することで、データを一つのシートにごちゃごちゃと混ぜることなく、すっきりとした構造でスプレッドシートを運用することが可能になります。
スプレッドシートのカウントイフ応用編

基本的なカウントイフの使い方に慣れてきたら、次は一歩進んだ応用テクニックに挑戦してみましょう。実務において「一つの条件だけでは足りない」というケースは意外と多いものです。ここでは、複数条件の指定方法や数値の比較、さらによくあるエラーの対処法などを詳しく解説します。これらをマスターすれば、データ分析の幅がぐんと広がりますよ。
複数条件を指定する関数との違い
ここまで紹介してきたCOUNTIF関数は、非常に便利ですが「条件を1つしか指定できない」という弱点があります。
たとえば、「部署が『営業部』であり、かつ、売上が『100万円以上』の社員数」を数えたい場合、COUNTIF関数一つでは処理できません。このような複数の条件(AND条件)を同時に満たすデータを数えるために用意されているのが、COUNTIFS(カウントイフス)関数です。
COUNTIFS関数の構文:=COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2, ...])
先ほどの例(A列が部署、B列が売上)で考えると、数式は以下のようになります。=COUNTIFS(A:A, "営業部", B:B, ">=1000000")
COUNTIFは単一条件、COUNTIFSは複数条件。この違いを明確に理解し、目的に応じて適切な関数を選択することが、複雑な集計をスムーズに行うための第一歩です。
数値が特定の値以上かを判定し集計
数値を条件にしてカウントを行う場合、比較演算子(不等号など)を活用します。これにより、「一定の金額以上」「合格点未満」といった閾値による絞り込みが可能になります。
主に使用する比較演算子は以下の通りです。
- > (より大きい)
- < (より小さい)
- >= (以上)
- <= (以下)
- <> (等しくない)
実例:テストの点数が80点以上の人数をカウント
C列にテストの点数が入力されているとします。80点「以上」の人数を数える数式は以下のようになります。
=COUNTIF(C:C, ">=80")
ここで間違えやすいポイントは、比較演算子と数値の組み合わせ全体を、必ずダブルクォーテーション(””)で囲むということです。=COUNTIF(C:C, >=80) のように記述してしまうとエラーになります。
セル参照を使って動的に条件を変える方法
条件とする数値を数式の中に直接書き込む(ハードコードする)のではなく、別のセルに入力された値を条件にすることも可能です。たとえば、セルD1に「80」という数値を入力し、それを基準にしたい場合は、アンパサンド(&)を使って結合します。=COUNTIF(C:C, ">=" & D1)
こうすることで、D1の数値を変更するだけで、数式をいじらずに集計基準を簡単に切り替えることができます。
指定日以下のデータを数える方法
日付データを扱う際も、数値と同様に比較演算子が有効です。スプレッドシートは日付を内部的にシリアル値(数値)として処理しているため、日付の大小比較が簡単にできるのです。
たとえば、「2024年3月31日以前」に登録されたユーザー数をカウントしたいとします。D列に登録日が入力されている場合、数式は以下のようになります。
=COUNTIF(D:D, "<=2024/03/31")
注意深く見ていただきたいのは、ここでもやはり "<=2024/03/31" と全体をダブルクォーテーションで囲んでいる点です。
さらに高度なテクニックとして、「今日の日付以前」という動的な条件を設定することも可能です。これにはTODAY関数を組み合わせます。
=COUNTIF(D:D, "<=" & TODAY())
この数式を使えば、シートを開いたその日の日付を基準として、常に最新の状態での期限切れチェックや進捗確認を行うことができます。タスク管理表などで非常に重宝するテクニックです。
エラー発生時の原因と正しい対処法
カウントイフを使用していると、思い通りにカウントされなかったり、エラーが表示されたりすることがあります。よくある原因とその対処法をまとめました。
- #ERROR! と表示される
- 原因: 構文が間違っています。最も多いのは、条件の文字列や比較演算子をダブルクォーテーション(””)で囲み忘れているケースです。
- 対処法: 数式を見直し、条件部分が正しく
"条件"という形式になっているか確認してください。また、関数名のスペルミス(例:CONTIF)がないかもチェックしましょう。
- カウント数が「0」になってしまう(実際にはデータがあるのに)
- 原因1:見えないスペースの混入: セル内の文字の前後に全角・半角のスペースが入っていると、完全一致とみなされません。
- 対処法: TRIM関数を使って余分なスペースを削除するか、検索と置換でスペースを消去してください。
- 原因2:全角と半角の違い: 「1」と「1」、「A」と「A」は別の文字として認識されます。
- 対処法: データをどちらかに統一するよう入力規則を設けるか、ASC関数やJIS関数を使ってデータを整形してからカウントしてください。
- 別シートを参照してエラーになる
- 原因: シート名にスペースや特殊文字が含まれているのに、シングルクォーテーション(’)で囲んでいないためです。
- 対処法:
'シート 名'!A:Aのように、シート名を正しくシングルクォーテーションで囲んでください。
複雑なエラー対処の前に
数式が複雑になればなるほど、エラーの原因特定は難しくなります。うまく動かない時は、まず数式を細かく分解し、単純なCOUNTIFから始めて、どこで想定外の挙動になるかを確認していくのがトラブルシューティングの近道です。
スプレッドシートのカウントイフまとめ
いかがでしたでしょうか。今回は、データの集計作業を劇的に楽にしてくれる「スプレッドシート カウント イフ」関数の使い方について、基本から応用まで幅広く解説しました。
おさらいになりますが、単純な完全一致のカウントから、ワイルドカードを用いた部分一致、比較演算子を使った数値や日付の条件指定まで、COUNTIF関数を使いこなせれば、様々なビジネス要件に対応できる柔軟な集計シートを作成することができます。また、複数の条件を組み合わせたい場合は、上位互換であるCOUNTIFS関数へステップアップすることで、さらに高度なデータ分析が可能になります。
エラーに直面したときは、この記事で紹介した「よくある原因(見えないスペースや記号の囲み忘れ)」を思い出して、落ち着いて対処してみてくださいね。関数は使えば使うほど手に馴染んできます。まずはご自身の手元にあるスプレッドシートで、簡単な集計からぜひ試してみてください!
