エクセルで特定の文字をカウントする方法!セル内・複数列対応の関数を解説

エクセルで「特定の文字を数えたい」と思ったとき、意外と手が止まりませんか。たとえば提出前のレポートで「OK」の数を集計しようとした瞬間、どの関数を使えばいいのか迷って作業が止まる。しかもセル内なのか、複数列なのかでやり方が変わるので、余計に混乱しますよね。

ロロメディア編集部でも、実務で集計ミスが発覚してやり直しになった経験があります。そこでこの記事では、実際の業務で使うレベルに落とし込みながら「最短で正しくカウントできる方法」を具体的に解説します。


目次

エクセルで特定の文字をカウントする基本はCOUNTIF関数で解決できる

エクセルで特定の文字を数えるとき、最初に覚えるべきはCOUNTIF関数です。結論から言うと、ほとんどのケースはこれだけで対応できます。

ただ、現場でよくあるのが「関数は知っているのにうまくカウントできない」状態です。たとえば「OK」と入力されたセルを数えたいのに、スペースや余計な文字が混ざっていて集計がズレる。提出直前に気づいて焦る、そんな経験ありませんか。

原因はシンプルで、「完全一致でしかカウントされない」点を理解していないことです。COUNTIFは条件に一致するセルだけを数えるため、少しでも違えば対象外になります。

実務での使い方は次の通りです。

  • =COUNTIF(A1:A10,”OK”)

この式で、A1からA10の中にある「OK」を数えられます。ここで重要なのは「条件はダブルクォーテーションで囲む」という点です。

実際の業務では、まず「どの範囲を数えるか」を決めて、その後に条件を設定する流れになります。データが増えても対応できるように、列単位(A:A)で指定しておくと後から楽になります。


セル内に含まれる文字をカウントする方法はLEN関数で対応する

セルの中に「特定の文字が何回含まれているか」を知りたいとき、COUNTIFでは対応できません。ここでつまずく人がかなり多いです。

たとえば、1つのセルに「OKOKNGOK」と入っている場合、「OK」が何回あるかを数えたいですよね。提出用のチェック表などで、このケースはよく発生します。

このときの原因は「COUNTIFはセル単位でしか判定できない」ことです。文字列の中身までは見てくれません。

具体的な解決方法は、LEN関数(文字数を数える関数)を使います。

実務で使う式は以下です。

  • =(LEN(A1)-LEN(SUBSTITUTE(A1,”OK”,””)))/LEN(“OK”)

この式の仕組みを簡単に説明します。
まず、元の文字数から「OK」を消した後の文字数を引くことで、「OKが何文字分あったか」を出します。その後、OKの文字数で割ることで回数を出している構造です。

実際に操作するときは、次の流れで進めると迷いません。

  1. 対象セルを決める(例:A1)
  2. SUBSTITUTEで文字を消す
  3. LENで文字数を比較する

この順番で組み立てると、途中で混乱しにくいです。


複数列にまたがる文字をカウントする方法は範囲指定がポイント

複数の列にデータが分かれている場合、「どこまでを範囲にするか」で結果が変わります。ここでミスすると、数字が合わずにやり直しになります。

たとえば、A列からC列までに「OK」「NG」が混在しているとします。このとき、1列ずつ数えて足すのは非効率です。実務では一発で集計できる形にしておく必要があります。

原因は、範囲指定を列ごとに分けてしまうことです。COUNTIFは複数列をまとめて指定できます。

具体的な式は以下です。

  • =COUNTIF(A1:C10,”OK”)

このように範囲をまとめて指定することで、複数列を一度にカウントできます。

実務でのコツは「表全体を範囲にする」ことです。途中で列が増えた場合でも対応できるように、余裕を持った範囲指定にしておくと後から修正が不要になります。


部分一致で文字をカウントする方法はワイルドカードを使う

「OK」ではなく「OKです」や「OK済み」も含めて数えたいとき、通常のCOUNTIFでは対応できません。このときに詰まる人が多いです。

実際の現場では、入力ルールが統一されていないことがよくあります。たとえば担当者ごとに「OK」「OK済」「OK確認」などバラバラに入力されているケースです。このままでは正しく集計できません。

原因は「完全一致しか見ていない」ことです。ここでワイルドカードを使います。

ワイルドカードとは「あいまい検索をするための記号」です。
アスタリスク(任意の文字列)を使います。

具体的な式はこちらです。

  • =COUNTIF(A1:A10,”OK”)

このように記述すると、「OK」を含むすべてのセルがカウントされます。

実務では、まずデータのばらつきを確認してから条件を決めると精度が上がります。入力ルールがバラバラな状態で集計すると、必ずズレが出ます。


大文字と小文字を区別してカウントする方法はEXACT関数を使う

通常のCOUNTIFは、大文字と小文字を区別しません。「ok」と「OK」は同じ扱いになります。

しかし、ログ分析やコード管理などでは、大文字と小文字を区別したいケースがあります。ここで気づかずに進めると、分析結果がズレてしまいます。

原因は、COUNTIFがケースを無視する仕様だからです。

この場合は、EXACT関数(文字列を完全一致で比較する関数)を使います。

実務で使う式は次の形です。

  • =SUMPRODUCT(–EXACT(A1:A10,”OK”))

この式では、EXACTで一致したものだけをTRUEとして判定し、それをSUMPRODUCTで数値として合計しています。

実際の作業では、まず「大文字と小文字を区別する必要があるか」を確認してください。不要ならCOUNTIFで十分です。必要なときだけこの方法を使うと、無駄な複雑化を防げます。


数値と文字が混在する場合のカウント方法は前処理が重要

「1」「1件」「No.1」など、似たようなデータが混在しているとき、正しくカウントできないことがあります。

たとえば売上データで「1件」と「1」が混ざっていると、COUNTIFでは別扱いになります。提出後に数値が合わないと指摘される、これはかなり痛いです。

原因はデータの形式が統一されていないことです。

対処方法としては、先にデータを整形します。

  • SUBSTITUTEで不要な文字を削除
  • VALUE関数で数値化
  • TRIMで余計なスペースを削除

これを行ってからカウントすることで、ズレを防げます。

実務では「集計前に整形する」が基本です。関数だけで解決しようとすると、複雑になってミスが増えます。


カウント結果が合わないときのチェックポイントと修正方法

「関数は合っているのに結果が違う」という状況、提出前に発覚するとかなり焦りますよね。

実際に多い原因は、見えないミスです。スペースや改行コードが含まれていると、見た目は同じでも別データとして扱われます。

確認すべきポイントは以下です。

  • 全角と半角が混ざっていないか
  • 余計なスペースが入っていないか
  • 改行が含まれていないか

これらはTRIMやCLEAN関数で除去できます。

実務では、まず1セルだけを対象にして検証してください。いきなり全体を確認すると原因が見えません。1件ずつ潰していくと、どこでズレているかが見えてきます。


まとめ

エクセルで特定の文字をカウントする方法は、使い分けさえ理解すれば迷いません。

基本はCOUNTIFで対応し、セル内の文字はLENとSUBSTITUTE、複数列は範囲指定、部分一致はワイルドカードと覚えておくと実務で困らなくなります。

ロロメディア編集部でも、最初は関数を覚えるより「どのパターンに当てはまるか」を整理することから始めました。その方が圧倒的にミスが減ります。

作業中に手が止まる原因は、関数が分からないことではなく「使い分けが曖昧なこと」です。今回の内容をそのまま使えば、ほとんどのカウント作業は数分で終わります。

次に同じ状況になったときは、この記事のパターンに当てはめてください。迷う時間がそのまま削減できますよ。

今週のベストバイ

おすすめ一覧

資料ダウンロード

弊社のサービスについて詳しく知りたい方はこちらより
サービスご紹介資料をダウンロードしてください