• 締切済み

【SUMPRODUCT】について

下記リストと条件で価格を算出したいのですが、A列の「7」以外の数字まで反映された値がかえってきてしまいました。適切な関数を使用しているかも不明です。 アドバイスのほどお願いいたしますm( _ _)m --------------------------------------------------------------- セル A列 B列 C列 D列 E列 1 5 A リンゴ店 TEL \100 2 5 B ミカン店 FAX \200 3 7 C リンゴ店 TEL \100 4 7 A ミカン店 FAX \200 5 7 B リンゴ店 TEL \100 6 7 C ミカン店 FAX \200 --------------------------------------------------------------- <条件> A列 「7」 B列 「B」と「C」 C列 「ミカン」を含む D列 「FAX」以外 <作成した数式>(かえってきた値は上の条件とは相反したデータで、恐らくA列の「7」以外の数字も含んでいるようです・・) =SUMPRODUCT((A$2:A$10=7)*(B$2:B$10="B")*(B$2:B$10="C")*(E$1:E$10)) +SUMPRODUCT((A$2:A$10=7)*ISNUMBER(FIND("ミカン",C$1*C$10))*(E$1:E$10))+SUMPRODUCT((A$2:A$10=7)*ISERROR(FIND("FAX",D$1:D$10))*(E$1:E$10)) 以上、質問が長くなってしまい申し訳ありません。 ご教授のほどどうぞ宜しくお願いいたします。

みんなの回答

回答No.3

こんなのでもいいかな =SUMPRODUCT((A$1:A$10=7)*ISNUMBER(FIND(B$1:B$10,"BC")) *ISNUMBER(FIND("ミカン",C$1:C$10))*(D$1:D$10<>"FAX"),E$1:E$10) 作業列を使ったほうがよいと思うので、参考まで

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

BとCの条件はOR条件で*(()+())*の形になるのでは。 他の質問で昨日も指摘されていたようだ。 ISERROR(FIND(・・:D$10))の部分は、明確にするため()で囲んでは。 ミカンは含むだからNOT(ISERROR(・・になるはず。 FAXのくくりの前がなぜ+かな。 模式的に書くと =SUMPRODUCT((列=7)*((列=B)+(列=C))*(NOT(ISERROR(FIND(ミカン,列)))*(ISERROR(FIND(FAX,列)))*(計数列))

noname#204879
noname#204879
回答No.1

=SUMPRODUCT((A1:A10=7)*OR(B1:B10="B",B1:B10="C")*NOT(ISERROR(FIND("ミカン",C1:C10)))*(D1:D10<>"FAX"),E1:E10)