アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。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

A 回答 (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/
    • good
    • 0
この回答へのお礼

こんにちは。
ご回答ありがとうございます。

実際やってみました。
確かに教えて頂いたとおりできました(^-^v
色々なやり方があるんですね~。

「配列数式」のページも少し見せてもらいました。
素人の私にとってはコツつかむまで少し時間が
かかりそうですが、作業量が減って便利そうですね。
これから使い慣れていこうと思っています。

それでは、お礼まで。
ありがとうございました♪

お礼日時:2005/03/13 17:54

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でできます。
    • good
    • 0
この回答へのお礼

迅速なご回答ありがとうございます。
教えて頂いた通りやってみたところ
問題なくうまくいきました(^0^

SUMPRODUCT関数についても仕様を誤解していた
部分があったので改めて勉強になりました。

おかげさまで色々助かりました。
ありがとうございました♪

お礼日時:2005/03/13 11:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!