こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

複数条件を満たす複数のセルから特定文字数を数える

エクセルについて質問です。
エクセルのバージョンは2007を使用しています。

標記の結果を導く数式を組みたいのですが、例えば

{=SUM(LEN(IF((A3:A100=E1)*(B3:B100=F1),C3:C100,""))-LEN(SUBSTITUTE(IF((A3:A100=E1)*(B3:B100=F1),C3:C100,""),"@",""))}

という配列数式を組んで、C3からC100までの範囲のうち
条件で絞り込んだセルの中にある@の文字を数え、その個数を該当セルに返したいのですが

マイナスの値が返ってくるなどどうも正確な値が返ってこず、困っております。

なお、@は同一セル内に複数存在することもあり
その場合@A @Bのように半角スペースで区切ってあります。

もちろんC3からC100までのセルの中には空白もあります。

何か根本的なところで認識違いがあるのでしょうか。
それとも単純なミスがあるのでしょうか。

どうかお知恵をお借りできれば幸いです。

投稿日時 - 2012-04-15 02:55:46

QNo.7421778

困ってます

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

お書きになった式は、右端の括弧の数が違うなどの投稿時のミスはありますが、基本的に正しいように思えます。ほとんど同じ内容ですが、修正済みの式は次のとおりなので、コピーして再度試してみてください。

{=SUM(LEN(IF((A3:A100=E1)*(B3:B100=F1),C3:C100,""))-LEN(SUBSTITUTE(IF((A3:A100=E1)*(B3:B100=F1),C3:C100,""),"@","")))}
あるいは、「,""」や「""」を削除して、
{=SUM(LEN(IF((A3:A100=E1)*(B3:B100=F1),C3:C100))-LEN(SUBSTITUTE(IF((A3:A100=E1)*(B3:B100=F1),C3:C100),"@",)))}

異常が発生する原因は判然としませんが、単純ミスのような気がします。ご質問の式の形ではなかなかマイナスにはなりづらいですが、例えば「""」が「" "」のようにスペースが入っていると、正しく計算しません。

=len(0)

の計算結果は「1」になるということも、異常値と関係していそうですね。数式バーに数式が表示されている画像でも載せていただけば、皆さん何か分かるかもしれません。

投稿日時 - 2012-04-15 13:45:55

お礼

MarcoRossiItalyさま

早速のご回答、ありがとうございます。
また記載ミスもご指摘いただき、ありがとうございます。恥ずかしい限りで、恐縮です。

さて質問の件ですが、実は先程再度チャレンジしてみたところsumをsumproductに代えてみたり、
またオートフィルを作ってみたりといじっているうちに何故か正確な値を返すようになっており
以降変数部分を何個か代入して試したところすべて正確な値を返すようになりました。

ですので、原因ははっきりとはしませんがMarcoRossiItalyさまがご回答くださったように
特に式自体に根本的な問題はないということですので、ここでこの質問を終わらせていただきたいと思います。

MarcoRossiItalyさまには重ねて御礼申し上げます。
ありがとうございました。

投稿日時 - 2012-04-15 22:28:59

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問