見出し画像

1つのセル内で特定の文字が何回出現するかを数えるための関数(Excel、Googleスプレッドシート)

特定の文字と合致する「セルの数」はcountifやcountifsを使って数えられます。
※なお、含まれるかどうかはREGEXMATCH関数を用います。
では、1つのセルに、特定の文字が何回含まれているかはどのように数えれば良いでしょうか?

例えば、A1のセルに
「生麦生米生卵」
という文字列があったとして、この中に「生」は何回含まれるでしょうか?

「生」を含むかどうかは、
=REGEXMATCH(A1,"生")
とすれば、TRUEを返し、含んでいることは分かりますが、これでは何回含まれているかは分かりません。

そこで、置換の関数であるSUBSTITUTE関数を用います。


SUBSTITUTE関数:
テキスト文字列内の特定の文字や文字列を別の文字や文字列に置換するために使用されます。

=SUBSTITUTE(text, old_text, new_text)
  1. text:これは置換を行いたい元のテキストです。これは直接テキストを入力するか、置換を行いたいテキストが含まれているセルを指定します。

  2. old_text:これは元のテキスト内で置換したい文字列です。この文字列に一致するすべてのインスタンスが新しい文字列に置換されます。

  3. new_text:これは old_text を置換するための新しい文字列です。old_text に一致するすべての部分がこの文字列に置き換えられます。

このSUBSTITUTE関数を応用することで、「生麦生米生卵」という文字列があったとして、この中に「生」が何回含まれるかを数える関数を作成することができます。


「生麦生米生卵」の生だけを全て空白に置換をしてあげれば、「麦米卵」となります。
この文字数の差分が実質的に「生」の数ということになります。

つまり、
「生麦生米生卵」の文字数 - 「生麦生米生卵」の「生」を除いた文字数
とすれば、「生」の数を求められます。

なお、文字数は、LEN関数を使用すれば求められます。


以上より、A1セルにある「生」の数を求める関数は以下のように表すことができます。

ここから先は

500字

¥ 100

この記事が気に入ったらサポートをしてみませんか?