- ベストアンサー
SUMPRDUCT関数でさらに複数条件
こんにちは。このサイトでCOUNTIFの複数条件の関数を探して、SUMPRODUCTにたどりつきました。 しかし、さらにSUMPRDUCTで複数条件の関数が必要なため、下記のような関数を作成しました。 =SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$42)*('2007_4'!$M$1:$M$10000=H61))+SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$43)*('2007_4'!$M$1:$M$10000=H61))+SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$44)*('2007_4'!$M$1:$M$10000=H61)+SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$45)*('2007_4'!$M$1:$M$10000=H61)+SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$46)*('2007_4'!$M$1:$M$10000=H61)))) しかし、この合計値は887を超えるはずがないのですが、なぜか60133を返してきます。SUMPRODUCT関数を+でつなぎすぎているせいでしょうか。 ちなみに=SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$42)*('2007_4'!$M$1:$M$10000=H61))だと55という正しい数字を返してきます。 初心者のため、きちんと理解していないのかもしれません。どうぞよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
閉じカッコ”)”の位置がおかしいのではないですか? =SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$42)*('2007_4'!$M$1:$M$10000=H61)) +SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$43)*('2007_4'!$M$1:$M$10000=H61)) +SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$44)*('2007_4'!$M$1:$M$10000=H61) ←ここと +SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$45)*('2007_4'!$M$1:$M$10000=H61) ←ここの +SUMPRODUCT(('2007_4'!$I$1:$I$10000=H$46)*('2007_4'!$M$1:$M$10000=H61)))) 閉じカッコが無く、最後の部分に何重にも閉じカッコがあるため、計算が異なっているものと思われます。
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
つなぎ方を間違えてますね。 I=H42~46の全部に合致すれば5件とカウントされます。 通常OR条件の場合 =SUMPRODUCT(((条件1)+(条件2)+(条件3)>0)*(条件4)) とすればOKです。 今回の場合は条件範囲になるので =SUMPRODUCT((COUNTIF(H$42:H$46,'2007_4'!$I$1:$I$10000)>0)*('2007_4'!$M$1:$M$10000=H61)) の方が楽でしょう。
お礼
ご回答ありがとうございます。確かにこの方法は楽ですね!出来ました。ありがとうございました!
お礼
ご回答ありがとうございます。お礼が遅くなりまして申し訳ございません。初心者にも程がある不注意でした。。。。出来ました!ありがとうございました!