以下に 【Excel】セル内の特定文字数をカウントする方法 をわかりやすく解説します。
━━━━━━━━━━━━━━━━━━
Contents
【Excel】セル内の特定文字数をカウントする方法をわかりやすく解説
━━━━━━━━━━━━━━━━━━
Excelを使っていると、「セルの中にある特定の文字がいくつ含まれているか」をカウントしたい場面は意外と多くあります。
例えば、
- A列のセルの中に「a」が何個あるか知りたい
- 商品説明文の中に「★」や「!」が何回出てくるか調べたい
- データに含まれる特定の記号や改行数を把握したい
- 社員コードなど決まった形式のデータが正しく入力されているか確認したい
といったケースです。
実は、Excelには「特定文字数を直接数える専用関数」というものはありません。しかし、LEN 関数と SUBSTITUTE 関数を組み合わせることで、とても簡単かつ確実に特定文字数をカウントできます。
この記事では、基本的な方法から応用的なパターンまで、Excelで特定文字数をカウントする全テクニックを、初心者にもわかりやすく丁寧に解説します。
■ セル内の特定文字をカウントする基本の式
まず最初に、最もよく使う基本パターンを紹介します。
◆ 使う関数:LEN + SUBSTITUTE
文字数カウントに利用する関数は次の2つだけです。
● LEN(文字列)
→ 文字列の長さ(文字数)を返す
● SUBSTITUTE(文字列, 置換前, 置換後)
→ 特定の文字を別の文字に置き換える
◆ 基本式
セル A1 の中に含まれる「a」の数を数えたい場合の基本式は以下です。
=LEN(A1) - LEN(SUBSTITUTE(A1, "a", ""))
◆ この式が成り立つ理由
- LEN(A1)
元の文字列全体の文字数を取得する - SUBSTITUTE(A1, “a”, “”)
文字「a」をすべて空白 “” に置き換える
→「a」が完全に削除された文字列ができる - LEN(SUBSTITUTE(…))
“a” を消した後の文字列の文字数を取得する - 元の文字数 − “a” を消した後の文字数
→ 削除された “a” の数 = A1 の中にある “a” の総数
この方法は非常にシンプルで強力なため、ほぼすべてのケースで使えます。
■ 実際の例で理解しよう
たとえば A1 に次の文字列があるとします。
banana
この中の「a」の数をカウントする場合は次の式になります。
=LEN(A1) - LEN(SUBSTITUTE(A1, "a", ""))
結果は 3 になります。
非常にシンプルでわかりやすいですね。
■ 大文字小文字を区別せずに数えたい場合
Excelは通常、大文字と小文字を区別して扱います。
例えば「A」と「a」は別の文字として扱われます。
しかし、大文字小文字を区別せずにカウントしたい場合は、以下のように LOWER (または UPPER) を併用します。
◆ すべて小文字に変換してから計算する
=LEN(LOWER(A1)) - LEN(SUBSTITUTE(LOWER(A1), "a", ""))
こうすることで、「A」も「a」もまとめてカウントできます。
■ 特定の「文字列」(2文字以上)をカウントしたい場合
単一の文字だけでなく、単語(2文字以上)をカウントしたい場面もあります。
例えば A1 の文字列の中から「猫」という語をカウントしたい場合。
◆ 2文字以上の文字列を数える式
=(LEN(A1) - LEN(SUBSTITUTE(A1, "猫", ""))) / LEN("猫")
● 解説
- 「猫」を削除したときの文字列の減少分を数える
- 減少した文字数を「猫」の文字数(今回は2文字)で割る
→ 単語の出現回数が正しく計算できる
■ 特定の記号を数える場合(! や ★ や 改行)
記号でも同じ式が使えます。
◆ ★ の場合
=LEN(A1) - LEN(SUBSTITUTE(A1, "★", ""))
◆ !の場合
=LEN(A1) - LEN(SUBSTITUTE(A1, "!", ""))
◆ セル内の改行(= CHAR(10))をカウント
改行の数を知りたい時はこうなります。
=LEN(A1) - LEN(SUBSTITUTE(A1, CHAR(10), ""))
※改行の数 = 改行文字の数
※改行の数 + 1 = 行数 なので、行数を知りたい場合にも応用できます。
■ 数式を関数化して使いやすくする方法(名前の管理)
頻繁に使う場合は、Excelの「名前の管理」を使って関数化すると便利です。
◆ 手順
- [数式] タブ →[名前の管理]
- 新規作成をクリック
- 名前:
CountChar - 数式:
=LEN($A$1) - LEN(SUBSTITUTE($A$1, $B$1, ""))
- OK を押す
● 使い方
- A1:検索対象の文字列
- B1:カウントしたい文字
すると、
=CountChar
と書くだけで「特定文字数」を計算できるようになります。
■ フィルターを使って一覧データ中の数をまとめて数える
複数のセルに特定の文字を含むかどうかチェックしたい場合は、
セルごとに特定文字数をカウントし、それを合計することもできます。
◆ 全セル内の「a」の出現回数の合計を出す方法
たとえば A1:A10 の中から「a」の出現合計数を求めたい場合は、
=SUMPRODUCT(LEN(A1:A10) - LEN(SUBSTITUTE(A1:A10, "a", "")))
SUMPRODUCT を使えば範囲に対する計算が一気にできます。
■ 応用:特定の複数文字をまとめてカウントする
例えば「A1 の中の A と B を合わせて何文字あるか?」
そんな場合は数式を組み合わせます。
=(LEN(A1) - LEN(SUBSTITUTE(A1, "A", "")))
+ (LEN(A1) - LEN(SUBSTITUTE(A1, "B", "")))
さらに複雑な検索が必要な場合は正規表現を使いますが、
標準Excelでは正規表現は未搭載のためマクロが必要になります。
■ 関数を使わず手軽に調べたい人向け:検索機能でざっくり確認
「正確な数字は不要だけど、どのくらいあるか把握したい」という場合は、Excel の検索機能を使うと楽です。
◆ 手順
- Ctrl + F で検索
- 調べたい文字を入力
- 「すべて検索」をクリック
- 検索結果一覧の件数で「出現数」がわかる
セル全体の数を知りたい場合には有効な方法です。
■ 特定文字数カウントの使用シーン
特定文字をカウントする技術は、実務で非常に役立ちます。
- データ入力チェック(桁数の誤り検出)
- 商品レビューの記号数チェック
- SNSデータ(ハッシュタグ数)の分析
- 長文データの形式確認
- 住所やメールアドレスの特定記号の有無チェック
- 社員番号のフォーマット確認
LEN + SUBSTITUTE の組み合わせは、こうした場面で多用される鉄板テクニックです。
■ まとめ:Excelで特定文字数をカウントする最も簡単で確実な方法
Excelでセル内の特定文字数をカウントする方法は、たった1つの式を覚えるだけでOKです。
◆ 基本式(単一文字)
=LEN(セル) - LEN(SUBSTITUTE(セル, "検索文字", ""))
◆ 複数文字(単語)
=(LEN(セル) - LEN(SUBSTITUTE(セル, "検索語", ""))) / LEN("検索語")
◆ 大文字小文字を区別しない
=LEN(LOWER(セル)) - LEN(SUBSTITUTE(LOWER(セル), "a", ""))
◆ 範囲全体の合計を出す
=SUMPRODUCT(LEN(範囲) - LEN(SUBSTITUTE(範囲, "a", "")))
この方法を覚えておけば、特定文字のカウントに困ることはありません。
Excelを日常的に利用する方にとって、非常に便利なスキルになるはずです。


