• ベストアンサー

ひとつのセル内のある文字をカウントしたい

過去ログを検索してみたのですが、見つからなかったため、質問いたします。 ひとつのセルに名前がカンマ(、)区切りで入力されてあります。 名前をカウントするため、以下の計算式を入れてみたのですが、 思ったように結果が出ません。 IF(A1="",0,COUNTA(A1,"*、*")+1) 上の計算式の意味:  A1のセルに何も入力されていない場合は、0  そうでない場合は、カンマの数に1を加えた数を出力  ex)田中、山田、木村 ⇒ 3 どのような計算式を立てればよいのでしょうか。 ご教授をお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.2

かっこの位置が間違っていたので訂正です。 =IF(A1="",0,LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))+1) LEN関数は文字数を数える関数です。 SUBSTITUTE関数は文字列を置き換える関数です。 SUBSTITUTE関数で"、"を消すと元の文字数からカンマの数だけ文字数が消えますでカンマの数を数えることができます。

tankob3210
質問者

お礼

ご回答いただき、ありがとうございます。 ご教授いただきました計算式で、思っていた結果が出ました。 LEN関数とSUBSTITUTE関数の組み合わせだったのですね。 勉強になりました。

その他の回答 (3)

  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.4

参考ですが COUNTA関数は文字が入っているセルの数を数えます。 LEN関数は一つのセルの中の文字数を数えます。 「区切り位置」の機能を使えば名前を別セルに分けることができ、 COUNTA関数を使って簡単に数を数えることができますよ。 (テキストデータから移行するときには重宝するわざです。)

参考URL:
http://azby.fmworld.net/usage/windows_tips/20051012/index.html
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

"、"限定なら =LEN(A1)-LEN(SUBSTITUTE(A1,"、","")) 毎回違う文字をカウントならB1参照で =IF(LEN(B1)=0,"",(LEN(A1)-LEN(SUBSTITUTE(A1,B1,"")))/LEN(B1))

tankob3210
質問者

お礼

ご回答いただき、ありがとうございます。 ご教授いただきました計算式で、思っていた結果が出ました。 LEN関数とSUBSTITUTE関数の組み合わせだったのですね。 毎回違う文字をカウントできるというのは応用でぜひ利用して みたいと思います。

  • nihonjinn
  • ベストアンサー率39% (79/200)
回答No.1

IF(A1="",0,LEN(A1)-LEN(SUBSTITUTE(A1,"、","")+1) でうまくいくと思います。

関連するQ&A