• ベストアンサー

2つ(以上)のセルの条件に合う合計

はじめまして。 会社で月ごとの売上の集計を作っており、以下の条件の場合の合計の出し方について、知恵を貸していただきたく宜しくお願い申し上げます。 商品名(A) 売上額(B) 条件1(C) 条件2(D) 商品A 1,000 100 東京 商品B 1,500 70 大阪 商品C 800 50 広島 商品D 1,000 30 大阪 商品E 2,000 100 大阪 って感じで続いていきます。 条件1の100に合うもので、なおかつ条件2の大阪(もしくは東京など)に合う、売上額の総計を出すにはどうしたらいいのでしょうか? またタイトルに2つ(以上)としたのは、D列の横のE,F,G,H列もまた商品、売上、条件1,2と続いていき、それらも合計していきたいからです。

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

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

#1です。#2でご指摘どおり、慌ててしまい、指定列を 間違っています。集計する売上額はB列にあるので 第3番目はB1:B5で =SUMPRODUCT((C1:C5=100)*(D1:D5="大阪")*(B1:B5)) が正しいです。 掛け算で順序は動かせるのですから=SUMPRODUCT((B1:B5)*(C1:C5=100)*(D1:D5="大阪"))が自然かも。 またSUMPRODUCTは配列数式的計算をしてくれるので敢えて 配列数式にすることもなかったです。 済みませんでした。

densuke
質問者

お礼

ありがとうございます。 助かりました。 また、何かあればご相談しますので宜しくお願い申し上げます。

その他の回答 (2)

noname#29107
noname#29107
回答No.2

基本的な考え方は#1でよろしいのですが、集計条件が間違っているようなので・・・・ =SUMPRODUCT((C1:C5=100)*(D1:D5="大阪")*(B1:B5)) として、そのままEnterとしてください。 SUMPRODUCT関数では、Ctrl+Shift+Enter不要です。 Ctrl+Shift+Enterで配列数式にするのは、 =SUM((C1:C5=100)*(D1:D5="大阪")*(B1:B5)) のように入力した場合になります。

densuke
質問者

お礼

ありがとうございます。 助かりました。 また、何かあればご相談しますので宜しくお願い申し上げます。

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

データを 商品A 1,000 100 東京 商品B 1,500 70 大阪 商品C 800 50 広島 商品D 1,000 100 大阪 商品E 2,000 100 大阪 に変えました。 =SUMPRODUCT((C1:C5=100)*(D1:D5="大阪")*(C1:C5)) Shift+Ctrl+Enter(左手でShiftとCtrlキーを押しつつ 右手でEnterを押す)。配列数式です。結果は200です。 意味はTRUEは1、Falseは0と考えてください。 TRUE*FALSE*100 0 FALSE*TRUE*70 0 FALSE*FALSE*50 0 TRUE*TRUE*100 100 TRUE*TRUE*100 100 --------------------- 合計(積の和) 200