Excel一覧 Excel関数 条件付き文字判定・抽出系

【Excel】特定の文字をカウントする方法|COUNTIF・LEN関数で出現回数を正確に数える!

Excelでデータを扱っていると、「特定の文字がどれくらい含まれているか」を確認したい場面は頻繁にあります。
商品名、支店名、コメント欄、エラーメッセージなど、文字列データを集計できるかどうかで、分析の精度や作業スピードは大きく変わります。

ただし、Excelで「特定の文字をカウントする」と言っても、
実は 意味の異なる2種類のカウント が存在します。

  • 特定の文字を「含むセルの数」を数えたいのか
  • セル内に文字が「何回出現しているか」を数えたいのか

この違いを理解しないまま関数を使うと、
数式は合っているのに結果がズレる という状況に陥りがちです。

この記事では、COUNTIF・LEN・SUBSTITUTE関数を中心に、
目的別に正しい「文字カウント方法」 を体系的に解説します。
初心者の方でも、実務ですぐ使える形で整理しています。

✅ Excelで特定の文字をカウントする前に知っておくべき違い

「特定の文字をカウントしたい」と思ったとき、多くの人が最初にCOUNTIF関数を使います。
しかし、ここで理解しておかないといけない重要なポイントがあります。

・「セル数」と「出現回数」はまったく別物

Excelの文字カウントには、次の2種類があります。

  • セル数のカウント
    → その文字を「含んでいるセル」が何件あるか
  • 出現回数のカウント
    → セル内に文字が「何回登場しているか」

たとえば、
A2セルに「ABACA」と入っている場合、

  • COUNTIFでは 1件
  • 実際の「A」の出現回数は 3回

になります。

この違いを理解せずに進むと、
実務では集計ミスに気づけなくなるため注意が必要です。


✅ 特定の文字を「含むセルの数」をカウントする方法(COUNTIF)

COUNTIF関数は、実際の動きを見ると理解が一気に進みます。

「特定の文字を含むセルが何件あるのか」
を、まずは短い動画で確認してみてください。

https://youtube.com/shorts/TELGZlEb-Rg

「特定の文字を含むセルが何件あるか」を知りたい場合は、COUNTIF関数を使います。
これは 件数集計 に最適な方法です。

・COUNTIFで部分一致カウントする基本構文

"=COUNTIF(範囲,"文字")"

・例:A2:A10に「東京」を含むセルを数える

"=COUNTIF(A2:A10,"東京")"

この式では、「東京都」「東京支店」など、
どこかに「東京」という文字が含まれていればカウントされます。

※「*」は任意の文字列を表すワイルドカードです。


・完全一致・前方一致・後方一致の違い

COUNTIFでは、ワイルドカードの位置を変えることで一致条件を細かく指定できます。

完全一致

"=COUNTIF(A2:A10,"東京")"

→ セルの内容が「東京」と完全に一致するものだけをカウント。

前方一致

"=COUNTIF(A2:A10,"東京*")"

→ 「東京」で始まるセルをカウント。

後方一致

"=COUNTIF(A2:A10,"*東京")"

→ 「東京」で終わるセルをカウント。

COUNTIFはあくまで「セル単位」のカウントであり、
セル内の出現回数は数えられない という点を覚えておきましょう。


✅ セル内に特定の文字が「何回出現するか」を数える方法

「COUNTIFでは数えられない」という場面は、
実務で非常によく発生します。

セル内に同じ文字が何回登場しているのかを、
動画で具体的に確認してみてください。

https://youtube.com/shorts/_ItKpnQkKd4

セルの中に、同じ文字が何回含まれているかを知りたい場合、
COUNTIFでは対応できません。

ここで使うのが LEN関数とSUBSTITUTE関数の組み合わせ です。

・出現回数を求める基本構文

"=LEN(A2)-LEN(SUBSTITUTE(A2,"A",""))"

・この数式の仕組み

  • LEN(A2):セルA2の文字数を取得
  • SUBSTITUTE(A2,"A",""):「A」を削除した文字列を作成
  • 削除前後の文字数の差 = 「A」の出現回数

・例:A2に「ABACA」が入っている場合

  • LEN(A2) → 5
  • SUBSTITUTE(A2,"A","") → 「BC」 → 2
  • 差:5 − 2 = 3

つまり、「A」は3回出現していることが分かります。

この方法は、完全な文字単位で回数を数えられる 点が大きなメリットです。


 

✅ 複数セル全体で出現回数を集計する方法

1セルだけでなく、範囲全体での総出現回数を求めたい場合は、
先ほどの式を SUMPRODUCT関数 でまとめます。

・範囲全体の出現回数を求める式

"=SUMPRODUCT(LEN(A2:A10)-LEN(SUBSTITUTE(A2:A10,"A","")))"

これにより、A2~A10に含まれる「A」の総出現回数を一括で集計できます。

コメント欄や文章データなど、
文字数が多いデータを扱う実務では特に有効 です。

参考:


✅ 2文字以上の文字列をカウントする場合の注意点

「A」ではなく、「東京」「支店」など
複数文字の文字列 を数えたい場合は、少し工夫が必要です。

・2文字以上を数える構文

"=SUMPRODUCT((LEN(A2:A10)-LEN(SUBSTITUTE(A2:A10,"東京","")))/LEN("東京"))"

・なぜ割り算が必要なのか

「東京」は2文字のため、
削除された文字数は「出現回数 × 2」になります。

そのため、
文字数差 ÷ LEN("東京")
とすることで、正確な出現回数を求めます。

この処理を知らないと、
結果が2倍・半分になるミス が起こりやすいポイントです。

参考:【Excel】複数の文字列を関数で一括置換する方法|SUBSTITUTE関数・置換リストの解説


✅ COUNTIFで意図しない結果になるケース

COUNTIFは便利ですが、注意点もあります。

・大文字と小文字を区別しない

COUNTIFは大文字・小文字を区別しません。

・部分一致による誤カウント

「東京」と「東京都」が混在すると、
意図しない一致が起こることがあります。

・ワイルドカードを文字として扱いたい場合

「*」や「?」を文字として検索したい場合は、
チルダ(~)を付ける必要があります。

例:
"=COUNTIF(A2:A10,"~*")"

参考:【Excel】置換でワイルドカードを使いこなす方法|「*」「?」で柔軟な文字列操作を実現


✅ FILTER・UNIQUEを使った動的な文字カウント(Excel 365)

Excel 365では、FILTER関数やUNIQUE関数を使うことで、
抽出とカウントを同時に行えます。

・特定の文字を含むデータを抽出

"=FILTER(A2:A100,ISNUMBER(SEARCH("東京",A2:A100)))"

参考:【Excel】「セルに特定の文字が入っていたら」複数条件を判定する方法|IF・OR・SEARCH関数

・件数をカウントする場合

"=COUNTA(FILTER(A2:A100,ISNUMBER(SEARCH("東京",A2:A100))))"

これにより、データが追加されても
自動で集計が更新される 仕組みを作れます。

参考:【Excel】空白セルを正しく判定する方法とは?ISBLANK/=""/COUNTAの違いと使い分けを解説


✅ 実務ではどの方法を選ぶべきか【ケース別まとめ】

用途別に、使うべき方法を整理します。

  • セル数を知りたい → COUNTIF
  • 文字の出現回数を知りたい → LEN+SUBSTITUTE
  • 範囲全体の合計回数 → SUMPRODUCT
  • 抽出と同時に集計したい → FILTER

この判断軸を持つだけで、
文字集計のミスはほぼ防げます。

参考:【Excel】COUNTIF関数を使用して条件一致の分析方法

参考:【Excel】セル内の文字を検索する関数|部分一致・位置特定・抽出まで完全解説


 

✅ まとめ:特定の文字を正確にカウントして集計ミスを防ごう

  • COUNTIFは「セル数」を数える関数
  • セル内の出現回数は LEN+SUBSTITUTE を使う
  • 複数セルは SUMPRODUCT で一括集計
  • 2文字以上は LEN で割る処理が必須
  • Excel 365なら FILTER で自動化が可能

文字列のカウントを正しく行えるようになると、
Excelは「確認ツール」から「分析ツール」へと進化します。

ぜひこの記事の内容を、
日々の集計・チェック・分析業務に活かしてみてください。

    -Excel一覧, Excel関数, 条件付き文字判定・抽出系