• 締切済み

SUMPRODUCT関数で0(ゼロ)と

はじめまして。arumikan091と申します。 (Excel初心者です(^^;) ExcelのSUMPRODUCT関数について質問があります。 A B (1) 2 0 (2) 2 4 (3) 2 (空白) (4) 2 3 (5) 2 0 (6) 3 4 (7) 3 (空白) というシートの中で、 "A列が2で、かつB列が0の個数を数える" ということをしようと思い =SUMPRODUCT((A1:A7=2)*(B1:B7=0)) と入力したのですが、 これだとB列の0(ゼロ)と一緒に""(空白)も 数えられてしまうようです。 (上記シートだと式の期待値は2なのですが、 実際値は3が返ってきます) このような場合、0(ゼロ)だけを数えられる ようにするにはどのようにすればいいか 教えていただけたら幸いです。 一応、自分でも少ない知識の中で色々トライしてみて、 =SUMPRODUCT((A1:A7=2)*(B1:B7=0))-SUMPRODUCT((A1:A7=2)*(B1:B7="")) のように式を入力するとちゃんと0(ゼロ)だけを 数えてくれるようなのですが、さらに簡単な 方法がありましたら教えてください。 Windows ME、Excel2000です。 ※1 B列単独で =COUNTIF(B1:B7,0)とするとちゃんと 0(ゼロ)だけを数えてくれます。 ※2 一応既存のQ/A集で同じ質問がないか探しましたが、 (「SUMPRODUCT 空白セル」のANDで) 同様、類似の質問が既にありましたら 申し訳ありません。 長文失礼しました(m_ _m

みんなの回答

回答No.2

こんにちは。 No.1の方のは「配列数式」 ですが、 ご質問の SUMPRODUCT 関数を使っても同じことだと思います。 ------------------------------------------------- =SUMPRODUCT((A1:A7=2)*(B1:B7=0)*(ISNUMBER(B1:B7))) -------------------------------------------------- ISNUMBER関数で、B1:B7 が数値かどうかの 判定を加えています。 ちなみに 「配列数式」 については 参考URLをご覧ください。

参考URL:
http://pc21.nikkeibp.co.jp/special/hr/
arumikan091
質問者

お礼

こんにちは。 ご回答ありがとうございます。 実際やってみました。 確かに教えて頂いたとおりできました(^-^v 色々なやり方があるんですね~。 「配列数式」のページも少し見せてもらいました。 素人の私にとってはコツつかむまで少し時間が かかりそうですが、作業量が減って便利そうですね。 これから使い慣れていこうと思っています。 それでは、お礼まで。 ありがとうございました♪

  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

SUMPRODUCTは掛け算をして和をとる関数ですが、ご質問の場合は掛け算を( )の中で自分でやっていますから、SUMPRODUCTではなくSUMでよいのです。 B列の空白を除いて数えるのは =SUM((A1:A7=2)*(B1:B7=0)*(LEN(B1:B7)>0)) または =SUM((A1:A7=2)*(B1:B7=0)*ISNUMBER(B1:B7)) または =SUM((A1:A7=2)*(B1:B7=0)*NOT(B1:B7="")) を入力してShift+Ctrl+Enterでできます。

arumikan091
質問者

お礼

迅速なご回答ありがとうございます。 教えて頂いた通りやってみたところ 問題なくうまくいきました(^0^ SUMPRODUCT関数についても仕様を誤解していた 部分があったので改めて勉強になりました。 おかげさまで色々助かりました。 ありがとうございました♪

関連するQ&A