Windows

【Excel】セル内の特定文字数カウントする方法を解説

以下に 【Excel】セル内の特定文字数をカウントする方法 をわかりやすく解説します。

━━━━━━━━━━━━━━━━━━

【Excel】セル内の特定文字数をカウントする方法をわかりやすく解説

━━━━━━━━━━━━━━━━━━

Excelを使っていると、「セルの中にある特定の文字がいくつ含まれているか」をカウントしたい場面は意外と多くあります。
例えば、

  • A列のセルの中に「a」が何個あるか知りたい
  • 商品説明文の中に「★」や「!」が何回出てくるか調べたい
  • データに含まれる特定の記号や改行数を把握したい
  • 社員コードなど決まった形式のデータが正しく入力されているか確認したい

といったケースです。

実は、Excelには「特定文字数を直接数える専用関数」というものはありません。しかし、LEN 関数と SUBSTITUTE 関数を組み合わせることで、とても簡単かつ確実に特定文字数をカウントできます。

この記事では、基本的な方法から応用的なパターンまで、Excelで特定文字数をカウントする全テクニックを、初心者にもわかりやすく丁寧に解説します。


■ セル内の特定文字をカウントする基本の式

まず最初に、最もよく使う基本パターンを紹介します。


◆ 使う関数:LEN + SUBSTITUTE

文字数カウントに利用する関数は次の2つだけです。

● LEN(文字列)

→ 文字列の長さ(文字数)を返す

● SUBSTITUTE(文字列, 置換前, 置換後)

→ 特定の文字を別の文字に置き換える


◆ 基本式

セル A1 の中に含まれる「a」の数を数えたい場合の基本式は以下です。

=LEN(A1) - LEN(SUBSTITUTE(A1, "a", ""))

◆ この式が成り立つ理由

  1. LEN(A1)
    元の文字列全体の文字数を取得する
  2. SUBSTITUTE(A1, “a”, “”)
    文字「a」をすべて空白 “” に置き換える
    →「a」が完全に削除された文字列ができる
  3. LEN(SUBSTITUTE(…))
    “a” を消した後の文字列の文字数を取得する
  4. 元の文字数 − “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の「名前の管理」を使って関数化すると便利です。


◆ 手順

  1. [数式] タブ →[名前の管理]
  2. 新規作成をクリック
  3. 名前:CountChar
  4. 数式:
=LEN($A$1) - LEN(SUBSTITUTE($A$1, $B$1, ""))
  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 の検索機能を使うと楽です。


◆ 手順

  1. Ctrl + F で検索
  2. 調べたい文字を入力
  3. 「すべて検索」をクリック
  4. 検索結果一覧の件数で「出現数」がわかる

セル全体の数を知りたい場合には有効な方法です。


■ 特定文字数カウントの使用シーン

特定文字をカウントする技術は、実務で非常に役立ちます。

  • データ入力チェック(桁数の誤り検出)
  • 商品レビューの記号数チェック
  • 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を日常的に利用する方にとって、非常に便利なスキルになるはずです。

Amazonのオーディオブック「Audible」が定額聴き放題サービスにリニューアル

Amazonのオーディオブックサービス「Audible」がサービスリニューアルされ、1/27から値段据え置き月額1500円で聴き放題サービスにリニューアルしました!

対象作品は12万冊。30日間のお試し体験が実施中なので以下にリンクを掲載します。

→ 【30日無料体験】Amazonのオーディオブック「Audible」が定額聴き放題をさっそく試す!