• 締切済み

EXCELのsumproduct

EXCELで,複数条件のデータを数えるとき,SUMPRODUCTを使うのが良いと聞いたんですが,具体的な使い方が分かりません。このWEBに載っているのも参考にやってみましたがうまくいきませんでした。よろしくお願いします。

みんなの回答

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

SUMPRODUCT関数私見。 (1)2条件(2列以上の列のデータに条件をつけて)以上の判別(篩にかけて)ある列の計数の合計をする関数に 適当なものがない。 本来エクセルではDSUMが使われることを予想していたかもしれないが、条件を式以外ののところへセットするので 嫌われているようです。 SUMPRODUCTは条件も式に組みこまれるので、考えやすいです。 (2)たまたまIf関数の真偽判定で、TRUEは1、FALSEは 0の値をエクセルは取ってくれるので、 計数1*真+計数2*偽+計数3*真のような計算に持ちこむと、真の行の計数1+計数3を足すことになるので使われる。 本来の使い方とは少しづれた使い方です。 (3)条件が3以上になっても同じ考え方で式を組みたて られるのも好まれます。 本来は 製品1 単価1 売上数量1 製品2 単価2 数量2 製品3 単価3 数量3 製品4 単価4 数量4 ・・ のような売上額を出すとき ==SUMPRODUCT(B3:B6*C3:C6) と関数を書き(B3:B6の前後に()が要らないのも面白い) =B3*C3 =B4*C4 =B5*C5 =B6*C6 -------(+ 縦合計 と同じになります。 (2)で述べた良く使われる使われ方。 (例データ)A3:F10 さしあたりA,B、C列が当初データでD、E,F列は解説用です。 A列  B列   C列   D列  E列  F列 G列 a x 1 TRUE TRUE 1 1 b x 2 FALSE TRUE 2 0 c y 3 FALSE FALSE 3 0 d z 4 FALSE FALSE 4 0 a x 5 TRUE TRUE 5 5 b z 6 FALSE FALSE 6 0 c y 7 FALSE FALSE 7 0 a x 8 TRUE TRUE 8 8 D3に=A3="a"と入れて下へ複写します。 上記D列のようになります。 E3に=B3="x"と入れて下へ複写します。 上記E列のようになります。 F列は便宜上C列をコピーしてます。 G1に=D3*E3*F3といれ下に複写します。 G列のようになります。 G列の総和を取ると14であり、 =SUMPRODUCT((A3:A10="a")*(B3:B10="x")*(C3:C10)) も14です。(IFが出てこない。A3:A10の前後に()が不要も面食らうかも。) A列がaで、B列がXの行のC列の合計は14と求められます 。こう言う理屈です。

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

A列が教科 B列が点数 C列が生徒 とした場合 =SUMPRODUCT((A1:A100="理科")*(B1:B100>=60)) 上記の式で、理科が60点以上の人数になります。 (条件1)*(条件2)はAND条件になります。 =SUMPRODUCT(((A1:A100="理科")+(A1:A100="国語"))*(B1:B100>=60)) 上記の式は理科か国語が60点以上の人数になります。 (条件1)+(条件2)はOR条件になります。 =SUMPRODUCT((C1:C100="日本太郎")*(B1:B100)) 上記の式は生徒が日本太郎の点数の合計になります。 (条件1)*(数値の範囲)は条件1を満たした数値の合計になります。

回答No.1

SUMPRODUCT関数は簡単に言うと、複数条件のデータを数えると言うのではなく、例えば、単価×数量=金額で、金額を集計する際、単価×数量を計算しないでも、直接金額の集計ができると言う関数です。

関連するQ&A