スプレッドシートで特定の文字や単語の出現回数をカウントする方法

前回の記事ではLEN関数を使って文字数をカウントする方法をご紹介しました。
ですが、「セル内に特定の文字や単語がいくつ含まれているか知りたい」 というケースもあるかもしれません。
その場合は、LEN
関数とSUBSTITUTE
関数を組み合わせることで、特定の文字や単語の出現回数をカウントできます。
例えば、以下のような場面で役立ちます。
- SNS投稿のハッシュタグ(#)の数を数えたい
- ターゲットキーワードの出現回数を確認したい
今回の方法を活用することで、スプレッドシートの分析がより便利になります。
「特定の文字」の出現回数をカウント

LEN
関数とSUBSTITUTE
を組み合わせて特定の文字(1文字)をカウント
基本の数式
=LEN(セル) - LEN(SUBSTITUTE(セル, "特定の文字", ""))
数式の説明
LEN(セル)
→ 対象セル内の元の文字数を取得します。SUBSTITUTE(A1, "特定の文字", "")
→ 指定した文字を削除 した後の文字列を取得します。LEN(SUBSTITUTE(セル, "特定の単語", ""))
→ 削除後の文字数を取得します。- (元の文字数) – (削除後の文字数) = 特定の文字の出現回数
使用方法

例えば、セルA2に入力されたハッシュタグ 「 # 」をカウントする場合には以下の式を使って取得できます。
=LEN(A2) - LEN(SUBSTITUTE(A2, "#", ""))

今回の例では「 # 」が6回使用されているため、入力した数式のセルに「6」が表示されます。
「特定の単語」の出現回数をカウント

- 使う数式の基本は「特定の文字カウント」と同じ
- それに加えて、単語カウントの場合は削除後の文字数の差を「その単語の長さ」で割って求める
基本の数式
=(LEN(セル) - LEN(SUBSTITUTE(セル, "特定の単語", ""))) / LEN("特定の単語")
数式の説明
LEN(セル)
→ 対象セル内の元の文字数を取得します。SUBSTITUTE(A1, "特定の文字", "")
→ 指定した文字を削除 した後の文字列を取得します。LEN(SUBSTITUTE(セル, "特定の単語", ""))
→ 削除後の文字数を取得します。/ LEN("特定の単語")
→単語の長さで割ることで、正確な出現回数を求めます。- 例えば「スプレッドシート(8文字)」が16文字分削除された場合、これは2回出現している ことを示します。
- (元の文字数 – 削除後の文字数) ÷ 「特定の単語」の文字数 = 「特定の単語」の出現回数
使用方法

例えば、セルA2に入力された「スプレッドシート」という単語をカウントする場合には以下の式を使って取得できます。
=(LEN(A2) - LEN(SUBSTITUTE(A2, "スプレッドシート", ""))) / LEN("スプレッドシート")

この例では、「スプレッドシート」が3回使用されているため、入力した数式のセルに「3」が表示されます。
特定の文字の出現回数をカウントする数式
=LEN(セル) - LEN(SUBSTITUTE(セル, "特定の文字", ""))
特定の単語の出現回数をカウントする数式
=(LEN(セル) - LEN(SUBSTITUTE(セル, "特定の単語", ""))) / LEN("特定の単語")
LEN(セル) - LEN(SUBSTITUTE(セル, "特定の単語", ""))
は、文字数カウントと同じ数式です。
この段階では削除された総文字数までが分かりますが、単語として何回出現したかは分かりません。
単語の正確な出現回数を求めるためには、削除された文字数を「その単語の長さ」/ LEN("特定の単語")
で割る必要があります。
単語数カウントの計算例
例:「スプレッドシートの関数を使えば、スプレッドシートでの作業が効率化できます。」
数式:=(LEN(セル) - LEN(SUBSTITUTE(セル, "特定の単語", ""))) / LEN("特定の単語")
- 文章全体の文字数を取得
-
LEN(セル)
で文章全体の文字数を取得します。- 例:「スプレッドシートの関数を使えば、スプレッドシートでの作業が効率化できます。」
この文章の文字数は
LEN(セル) = 37
文字 - 削除した文字列の長さを取得
-
SUBSTITUTE(セル, "スプレッドシート", "")
で「スプレッドシート」を削除した文字列の長さを取得します。- 「スプレッドシート」を削除すると → 「の関数を使えば、での作業が効率化できます。」
削除後の文字数は
LEN(SUBSTITUTE(A1, "スプレッドシート", "")) = 21
文字 - 削除前と削除後の文字数の差を求める
-
LEN(A1) - LEN(SUBSTITUTE(A1, "スプレッドシート", ""))
37 - 21 = 16
削除された「スプレッドシート」の合計文字数は16文字
- 単語の長さで割る
-
/ LEN("スプレッドシート")
- 「スプレッドシート」の長さは8文字
16 ÷ 8 = 2
「スプレッドシート」は 2回登場していることが分かります。
まとめ
Googleスプレッドシートの関数を使えば、特定の文字や単語の出現回数をカウントできます。
使う数式の基本は同じですが、単語をカウントする場合は、削除された文字数の差を「単語の長さで割る」処理
を追加する必要があります。
✅ 文字のカウント
LEN(セル) - LEN(SUBSTITUTE(セル, "特定の文字", ""))
✅ 単語のカウント
(LEN(セル) - LEN(SUBSTITUTE(セル, "特定の単語", ""))) / LEN("特定の単語")
用途に合わせてお使い分けください。
コメント