「特定の文字の数だけをカウントしたいのですが...?」
「セルの中に指定した文字が何個あるのかを調べるには、どうすればいいのでしょう?」
というご質問をいただくことがあります。
例えば、A列に住所データが入力されているような住所録を管理しているときに、「市」という文字がいくつ含まれているのかを、B列に表示させたいといったご要望をいただいたことがあります。
セル内の特定の文字をカウントする数式
セルに含まれる文字列全体の長さを取得することは、LEN関数で簡単にできます。
そのLEN関数に、ちょっと工夫することで指定した特定の文字の数だけをカウントできます。※A2セルに住所が入力されているときに、B2セルに「市」の数を表示する例
B2セルに
=LEN(A2) - LEN(SUBSTITUTE(A2, "市", ""))
という数式を入力する
セル内の特定の文字をカウントする数式の意味
数式の前半「LEN(A2)」で、
=LEN(A2) - LEN(SUBSTITUTE(A2, "市", ""))
A2セル全体の文字列の長さを取得しています。
数式の後半「LEN(SUBSTITUTE(A2, "市", ""))」では、
=LEN(A2) - LEN(SUBSTITUTE(A2, "市", ""))
「市」の文字を除いたA2セルの文字数を取得しています。
「SUBSTITUTE(A2, "市", "")」でA2セルの文字列のうち「市」という文字を取り除き、その「SUBSTITUTE(A2, "市", "")」をLEN関数の引数に指定することで、「市」の文字を除いたA2セルの文字数を取得しています。
前半で求めた全体の文字数から、後半で求めた「市」という文字を抜いた文字数を引き算すれば、結果として「市」が何文字あるのかわかるということです。
▼サンプルファイル(002324.xls 15KByte)ダウンロード
SUBSTITUTE関数・LEN関数の例
なおこのサイトでは、SUBSTITUTE関数については以下のような記事を、
LEN関数については以下のような記事を書いています。
最終更新日時:2019-09-06 14:33
Home » Excel(エクセル)の関数・数式の使い方 » 文字列 » セル内の特定文字数をカウントする−LEN関数・SUBSTITUTE関数