• ベストアンサー

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という正しい数字を返してきます。 初心者のため、きちんと理解していないのかもしれません。どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • nekoron07
  • ベストアンサー率37% (69/184)
回答No.1

閉じカッコ”)”の位置がおかしいのではないですか? =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)))) 閉じカッコが無く、最後の部分に何重にも閉じカッコがあるため、計算が異なっているものと思われます。

daisaku28
質問者

お礼

ご回答ありがとうございます。お礼が遅くなりまして申し訳ございません。初心者にも程がある不注意でした。。。。出来ました!ありがとうございました!

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

つなぎ方を間違えてますね。 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)) の方が楽でしょう。

daisaku28
質問者

お礼

ご回答ありがとうございます。確かにこの方法は楽ですね!出来ました。ありがとうございました!