Excel。セル内のカンマで区切られた文字列数を知るには、どうしたらいい
<LEN関数+SUBSTITUTE関数>
表のB列には、会議参加者の氏名が入力されています。
そして、氏名は、「,(カンマ)」で区切られています。
その氏名の人数を、C列に求めたい場合、どのようにしたら、手早く求めることができるのでしょうか。
「,」で区切られているわけですから、COUNTIF関数で「,」の数を求めればいいと考えがちですが、COUNTIF関数では対応することができません。
COUNTIF関数は、セル対象であり、セル内の文字数を求めることは出来ないからです。
そこで、全体の文字数から「,」を除いた文字数を減算すれば、「,」の数を求めることができます。
その値に「+1」すれば、「,」で区切られた文字列数を求めることができます。
C2には、次の数式を設定し、オートフィルで数式をコピーしました。
=LEN(B2)-LEN(SUBSTITUTE(B2,",",""))+1
これで、「,」で区切られた文字列数を求めることができました。
では、この数式の仕組みを確認しましょう。
=LEN(B2)-LEN(SUBSTITUTE(B2,",",""))+1
LEN関数は、セル内の文字数を求めることができる関数です。
最初に、セル内の文字列数を求めました。
SUBSTITUTE(B2,",","")
SUBSTITUTE関数は、置換してくれる関数です。
「,」を「””(空白)」に置換します。
そして、LEN関数をつかうことで、「,」を除いた文字数を求めることができます。
全体の文字数から「,」を除いた文字数を減算すれば、「,」の数を求めることができるというわけです。
そして、文字列と文字列の間に「,」がありますので、「+1」することで、「,」で区切られた文字列数を求めることができるというわけです。