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

エクセルで特定の文字を数えるとき、最初に覚えるべきはCOUNTIF関数です。結論から言うと、ほとんどのケースはこれだけで対応できます。
ただ、現場でよくあるのが「関数は知っているのにうまくカウントできない」状態です。たとえば「OK」と入力されたセルを数えたいのに、スペースや余計な文字が混ざっていて集計がズレる。提出直前に気づいて焦る、そんな経験ありませんか。
原因はシンプルで、「完全一致でしかカウントされない」点を理解していないことです。COUNTIFは条件に一致するセルだけを数えるため、少しでも違えば対象外になります。
実務での使い方は次の通りです。
- =COUNTIF(A1:A10,”OK”)
この式で、A1からA10の中にある「OK」を数えられます。ここで重要なのは「条件はダブルクォーテーションで囲む」という点です。
セル内に含まれる文字をカウントする方法はLEN関数で対応する

セルの中に「特定の文字が何回含まれているか」を知りたいとき、COUNTIFでは対応できません。ここでつまずく人がかなり多いです。
たとえば、1つのセルに「OKOKNGOK」と入っている場合、「OK」が何回あるかを数えたいですよね。提出用のチェック表などで、このケースはよく発生します。
このときの原因は「COUNTIFはセル単位でしか判定できない」ことです。文字列の中身までは見てくれません。
具体的な解決方法は、LEN関数(文字数を数える関数)を使います。
実務で使う式は以下です。
- =(LEN(A1)-LEN(SUBSTITUTE(A1,”OK”,””)))/LEN(“OK”)
実際に操作するときは、次の流れで進めると迷いません。
- 対象セルを決める(例:A1)
- SUBSTITUTEで文字を消す
- 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で数値として合計しています。
数値と文字が混在する場合のカウント方法は前処理が重要
「1」「1件」「No.1」など、似たようなデータが混在しているとき、正しくカウントできないことがあります。
たとえば売上データで「1件」と「1」が混ざっていると、COUNTIFでは別扱いになります。提出後に数値が合わないと指摘される、これはかなり痛いです。
原因はデータの形式が統一されていないことです。
対処方法としては、先にデータを整形します。
- SUBSTITUTEで不要な文字を削除
- VALUE関数で数値化
- TRIMで余計なスペースを削除
これを行ってからカウントすることで、ズレを防げます。
実務では「集計前に整形する」が基本です。関数だけで解決しようとすると、複雑になってミスが増えます。
カウント結果が合わないときのチェックポイントと修正方法
「関数は合っているのに結果が違う」という状況、提出前に発覚するとかなり焦りますよね。
実際に多い原因は、見えないミスです。スペースや改行コードが含まれていると、見た目は同じでも別データとして扱われます。
確認すべきポイントは以下です。
- 全角と半角が混ざっていないか
- 余計なスペースが入っていないか
- 改行が含まれていないか
これらはTRIMやCLEAN関数で除去できます。
まとめ
エクセルで特定の文字をカウントする方法は、使い分けさえ理解すれば迷いません。
基本はCOUNTIFで対応し、セル内の文字はLENとSUBSTITUTE、複数列は範囲指定、部分一致はワイルドカードと覚えておくと実務で困らなくなります。
ロロメディア編集部でも、最初は関数を覚えるより「どのパターンに当てはまるか」を整理することから始めました。その方が圧倒的にミスが減ります。
次に同じ状況になったときは、この記事のパターンに当てはめてください。迷う時間がそのまま削減できますよ。














