• ベストアンサー

1つのセルに1つ以上のデータが入っている時のカウントの仕方

こんばんは、過去の質問を検索してみたのですが、うまくひっかからないので、どなたか教えて頂けないでしょうか。 例えば、ひとつのセルに:で区切られた1つ以上のデータが入っている時のカウント方法を知りたいのです。 <例> AAA:BBB:CCC AAA BBB:CCC BBB の場合なら AAAは2 BBBは3 CCCは2 とカウントできるようにしたいのです。 =countif(A1:A100,"BBB")  →A1~A100がデータ範囲 とやってみましたが、4行目のように 単数で入っているものしか数えられない ようで1しか返って来ません。 (1行目や3行目をカウントできないみたいです。) すみません…よろしくお願いいたします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

=COUNTIF(A1:A100,"*BBB*") とすれば3という結果が得られます ただ、BBBBのような情報があるときも条件に合致してしまいますので「完全一致」で調べたいならNGです。

cross_cable
質問者

お礼

迅速なご回答を頂きありがとうございます。 なるほど、ワイルドカードを使うのですね! 完全一致が必要なデータもあるのですが、とりあえず 教えて頂いた方法で、かなりの数の集計ができそうです。 助かりました!ありがとうございます。 もし、zap35様でも、他の方でも、 他の方法、または、完全一致のデータの集計を ご存知ならば、ご教授頂ければありがたいので、 もうちょっとこの質問をあけておくことを、 ご容赦願います。

その他の回答 (5)

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.6

参考までに Wendy02さん回答のように区切位置を使用することをお薦めしますが、関数で処理の場合 :BBBB: をクリアするために(完全一致のため)検索値を":BBB:"にする必要がありそうですね。 そのためには対象文字列にも工夫が必要ですね =SUMPRODUCT(ISNUMBER(FIND(":BBB:",":"&A1:A00&":"))*1) By しげちゃん

cross_cable
質問者

お礼

ありがとうございました。

cross_cable
質問者

補足

せっかくご回答頂いていたのに、お礼が遅くなり大変申し訳ありませんでした。 EXCEL結果を試してから、回答と報告をしようと質問を開けたままにしておりましたが、業務が変わりEXCELを使わなくなった為、頂いた回答を試せず、ここまで来てしまいました… 頂いた回答は時間を見て、試したいと思います。 ご回答ありがとうございました! 今後とも、よろしくお願いいたします。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 よけいなことかもしれませんが、関数で、一般では、正規表現検索が使えないので、「:」のような区切り文字があるなら、  範囲を選択してから、[データ]-[区切り位置]で、ウィザードの 2/3で、区切り文字を、  「:」で別けて、 その後を、 SUMPRODUCT((A1:C4)="BBB")*1) で数えてしまったほうが早いような気がします。

cross_cable
質問者

お礼

ありがとうございました。

cross_cable
質問者

補足

せっかくご回答頂いていたのに、お礼が遅くなり大変申し訳ありませんでした。 EXCEL結果を試してから、回答と報告をしようと質問を開けたままにしておりましたが、業務が変わりEXCELを使わなくなった為、頂いた回答を試せず、ここまで来てしまいました… 頂いた回答は時間を見て、試したいと思います。 ご回答ありがとうございました! 今後とも、よろしくお願いいたします。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

#01です。完全一致も必要なのですね。 >ひとつのセルに:で区切られた1つ以上のデータが入っている という条件があるのであれば、ワイルドカードを応用して =COUNTIF(A1:A100,"BBB")+COUNTIF(A1:A100,"BBB:*")+COUNTIF(A1:A100,"*:BBB:*")+COUNTIF(A1:A100,"*:BBB") ではいかがでしょうか。

cross_cable
質問者

お礼

ありがとうございました。

cross_cable
質問者

補足

せっかくご回答頂いていたのに、お礼が遅くなり大変申し訳ありませんでした。 EXCEL結果を試してから、回答と報告をしようと質問を開けたままにしておりましたが、業務が変わりEXCELを使わなくなった為、頂いた回答を試せず、ここまで来てしまいました… 頂いた回答は時間を見て、試したいと思います。 ご回答ありがとうございました! 今後とも、よろしくお願いいたします。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

次の方法は如何でしょうか。 =SUMPRODUCT((LEN(A1:A4)<>LEN(SUBSTITUTE(A1:A4,"BBB","")))*1)

cross_cable
質問者

お礼

ありがとうございました。

cross_cable
質問者

補足

せっかくご回答頂いていたのに、お礼が遅くなり大変申し訳ありませんでした。 EXCEL結果を試してから、回答と報告をしようと質問を開けたままにしておりましたが、業務が変わりEXCELを使わなくなった為、頂いた回答を試せず、ここまで来てしまいました… 頂いた回答は時間を見て、試したいと思います。 ご回答ありがとうございました! 今後とも、よろしくお願いいたします。

  • rin01
  • ベストアンサー率43% (33/76)
回答No.2

こんにちは~♪ セルの文字が : で3文字づつ 区切られているのでしたら~。。 "BBB"の場合です。 =SUMPRODUCT((MID(A1:A4,COLUMN(A:G)*4-3,3)="BBB")*1) こんな式でも良さそうです。。。。Rin~♪♪

cross_cable
質問者

お礼

ありがとうございました。

cross_cable
質問者

補足

せっかくご回答頂いていたのに、お礼が遅くなり大変申し訳ありませんでした。 EXCEL結果を試してから、回答と報告をしようと質問を開けたままにしておりましたが、業務が変わりEXCELを使わなくなった為、頂いた回答を試せず、ここまで来てしまいました… 頂いた回答は時間を見て、試したいと思います。 ご回答ありがとうございました! 今後とも、よろしくお願いいたします。