• ベストアンサー

Excelの関数「セルに含まれるある文字をカウントしたい」

例えばカンマ区切りのデータを、 エクセルで最初に区切ることをせずに開いたとします。 そのとき、A列にだけデータがはいってきますが、 そのA列を参照して「カンマの数」を数えることはできるでしょうか。   A列の値       数式の結果 a,b,c,,,,g  =   6 となるイメージです。 関数でなくても、なにかいい方法がありましたら アドバイスいただければと思います。 よろしくお願いします。

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

  • ベストアンサー
  • vantage
  • ベストアンサー率60% (310/514)
回答No.2

こんな方法はどうでしょう? カンマが半角であるという前提で・・・ これを全角に置き換え、半角のときの文字列バイト数と置き換え後の文字列バイト数の差を求める。 =LENB(SUBSTITUTE(A1,",","、"))-LENB(A1) "、" の部分は文字列の中になさそうな全角文字なら、何でもよさそうですが・・・。 ハズしていたらすみません。

parachute_girl
質問者

お礼

アドバイスありがとうございます。 これはいいです! カンマを置換してLENの差を見るというのは考えたのですが、 置換を関数でという発想がありませんでした。 ありがとうございます。

その他の回答 (2)

  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.3

#2の回答と考え方は同じですが、 A列の値のカンマを削除して、元の文字数から引けばカンマの数を数えられます。 =LENB(A1)-LENB(SUBSTITUTE(A1,",",""))

parachute_girl
質問者

お礼

そうですね。 こちらのほうが考え方が軽快かもしれません。 ありがとうございました。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

マクロを使わないとダメでしょう。

parachute_girl
質問者

お礼

早速のご回答ありがとうございます。 やはりそうですよね・・・。 エクセル関数であってもよさそうなのに。と思ってしまいます。 ありがとうございました。

関連するQ&A