- ベストアンサー
ひとつのセル内のある文字をカウントしたい
過去ログを検索してみたのですが、見つからなかったため、質問いたします。 ひとつのセルに名前がカンマ(、)区切りで入力されてあります。 名前をカウントするため、以下の計算式を入れてみたのですが、 思ったように結果が出ません。 IF(A1="",0,COUNTA(A1,"*、*")+1) 上の計算式の意味: A1のセルに何も入力されていない場合は、0 そうでない場合は、カンマの数に1を加えた数を出力 ex)田中、山田、木村 ⇒ 3 どのような計算式を立てればよいのでしょうか。 ご教授をお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
かっこの位置が間違っていたので訂正です。 =IF(A1="",0,LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))+1) LEN関数は文字数を数える関数です。 SUBSTITUTE関数は文字列を置き換える関数です。 SUBSTITUTE関数で"、"を消すと元の文字数からカンマの数だけ文字数が消えますでカンマの数を数えることができます。
その他の回答 (3)
- nihonjinn
- ベストアンサー率39% (79/200)
参考ですが COUNTA関数は文字が入っているセルの数を数えます。 LEN関数は一つのセルの中の文字数を数えます。 「区切り位置」の機能を使えば名前を別セルに分けることができ、 COUNTA関数を使って簡単に数を数えることができますよ。 (テキストデータから移行するときには重宝するわざです。)
- mshr1962
- ベストアンサー率39% (7417/18945)
"、"限定なら =LEN(A1)-LEN(SUBSTITUTE(A1,"、","")) 毎回違う文字をカウントならB1参照で =IF(LEN(B1)=0,"",(LEN(A1)-LEN(SUBSTITUTE(A1,B1,"")))/LEN(B1))
お礼
ご回答いただき、ありがとうございます。 ご教授いただきました計算式で、思っていた結果が出ました。 LEN関数とSUBSTITUTE関数の組み合わせだったのですね。 毎回違う文字をカウントできるというのは応用でぜひ利用して みたいと思います。
- nihonjinn
- ベストアンサー率39% (79/200)
IF(A1="",0,LEN(A1)-LEN(SUBSTITUTE(A1,"、","")+1) でうまくいくと思います。
お礼
ご回答いただき、ありがとうございます。 ご教授いただきました計算式で、思っていた結果が出ました。 LEN関数とSUBSTITUTE関数の組み合わせだったのですね。 勉強になりました。