電子書籍の厳選無料作品が豊富!

2つ以上の条件に合うレコードを抜き取って集計したいのですが、方法を教えて下さい。
顧客コード=101
かつ
商品コード=111
のレコードの数量及び金額を集計して別表に出したい。

A 回答 (4件)

#1のmshr1962です。


>SUMPRODUCTとは積の合計ではないのでしょうか。
確かにSUMPRODUCT関数は範囲の積の合計する関数です。
ただし範囲の部分に条件式を設定することで複数条件のカウントや合計が計算できます。

SUMPRODUCT((条件1)*(条件2))
とした場合、TRUE*TRUE=TRUEでこれ以外(TRUE*FALSE,FALSE*TRUE,FALSE*FALSE)はFALSEが返ります。
ここでEXCEL上ではTRUE=1,FALSE=0と置換が可能なため、条件にあった場合、1(件数)が加算されます。

SUMPRODUCT((条件1)*(条件2)*(金額))
なら条件にあった金額だけが抽出合計できます。(条件に合わない場合0倍されるので金額は0)

※下記のように設定する場合は条件に*1することでTRUE*1=1,FALSE*1=0にしてください。
単独の条件式のTRUE,FALSEは1,0に置換されません。
=SUMPRODUCT((条件)*1)
=SUMPRODUCT((条件1)*1,(条件2)*1,(金額))
    • good
    • 0
この回答へのお礼

遅くなりましたが、ありがとうございます。早速トライしてみます。

お礼日時:2006/01/08 10:37

(1)SUMPRODUCT


(2)配列数式
のほかにもう1つあります。
(3)DSUM、Dcountです
例データ
A2:C10
顧客コード商品コード金額
1011111
1022342
1033413
1013214
1011115
1022126
1031237
1011118
E1:F2に見だしと条件をいれます
顧客コード商品コード
101111
上記以外のセルに
=DSUM(A2:C10,"金額",E1:F2)
と入れます。見出しの、「金額」を””で囲むこと。
見出しも含めて範囲を指定すること。
結果は14。
件数は
=DCOUNT(A2:C10,"金額",E1:F2)
結果は3
です。
    • good
    • 0

例ですが、次の方法で如何でしょうか。



1.数量は=SUMPRODUCT((顧客コード範囲=101)*(商品コード範囲=111))
2.金額は=SUMPRODUCT((顧客コード範囲=101)*(商品コード範囲=111)*(金額範囲))
    • good
    • 0

顧客コードがA列(A2:A100)、商品コードがB列(B2:B100)として


カウント=SUM(IF(($A:$A=101)*($B:$B=111),1)) でCtrl+Shift+Enterで配列数式にするか
カウント=SUMPRODUCT(($A$2:$A$100=101)*($B$2:$B$100=111))

C列の金額や数量を合計なら
合計=SUM(IF(($A:$A=101)*($B:$B=111),$C:$C)) でCtrl+Shift+Enterで配列数式にするか
合計=SUMPRODUCT(($A$2:$A$100=101)*($B$2:$B$100=111)*($C$2:$C$100))

この回答への補足

補足します。
シート1に
顧客CD・商品CD・数量・金額などの日々のデータがあります。
シート2に
顧客別売上表なるものを作り、顧客別・商品別の集計一覧を作ろうとしています。
シート1のデータを元に
顧客1に対して商品別に数量及び金額を集計して表に出したいのです。
現在 SUMIF(シート1!$E$6:$E$512,"111",シート1!$H$6:$H$512
で表示していますが(”111”は商品CD)
当然のことながら、これだけでは顧客別にはならず、全体の商品合計がでてしまうのです。
SUMPRODUCTとは積の合計ではないのでしょうか。

補足日時:2006/01/04 19:22
    • good
    • 0

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