SUMPRODUCT関数の使い方|掛け算して合計・複数条件で集計
※写真はイメージです
書き方はこれだけ
=SUMPRODUCT(範囲1, 範囲2, …)SUMPRODUCTは、範囲どうしを行ごとに掛け算して、その合計を出す関数です。「単価×数量」の列を作らなくても、合計金額が1つの式で出せます。条件を (範囲="値") の形で掛けると、複数の条件に合う行だけの合計や件数も出せます。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
条件に合う行だけ合計する
(A2:A5="八王子") は、八王子の行が 1(TRUE)、それ以外が 0(FALSE)になります。掛け合わせると、両方の条件に合う行の売上だけが残ります。| やりたいこと | 式 |
|---|---|
| 2つの条件に合う売上の合計 | =SUMPRODUCT((A2:A100="八王子")*(B2:B100="A")*C2:C100) |
| 2つの条件に合う件数 | =SUMPRODUCT((A2:A100="八王子")*(B2:B100="A")) |
| どちらかの条件(または)に合う件数 | =SUMPRODUCT(((A2:A100="八王子")+(A2:A100="国分寺")>0)*1) |
| 月で絞る(日付の列から4月だけ) | =SUMPRODUCT((MONTH(D2:D100)=4)*C2:C100) |
正直、ふつうの条件の合計ならSUMIFS・COUNTIFSのほうが読みやすくて速いです。SUMPRODUCTを出すのは、「月で絞る」「または」のような、SUMIFSでは書きにくい条件のときだけでいいと思います。
うまくいかないとき
1#VALUE! になる
B2:B4C2:C5範囲の行数(大きさ)がそろっていません。
直し方すべての範囲を同じ行から同じ行までにそろえます。
2条件を付けたら 0 になる
条件の書き方が「,」区切りになっていて、TRUE/FALSE のまま掛け算されていません。
直し方条件は (範囲="値") をかっこで囲み、* でつなぎます。
3文字が混じっている列で #VALUE!
掛け算する列に「-」や「なし」などの文字が入っています。
直し方文字を0や空欄に直すか、条件の列だけを掛ける形にします。
サンプルファイルで試す
黄色のセルにSUMPRODUCTの式を入れて、「答え」のシートと比べてください。
sumproduct.xlsx をダウンロード(無料・登録なし)
よくある質問
SUMPRODUCT関数とは?
範囲どうしを行ごとに掛け算して、その合計を出す関数です。単価×数量の合計金額などを1つの式で出せます。
複数条件で合計するには?
=SUMPRODUCT((条件の範囲1="値")*(条件の範囲2="値")*合計する範囲) のように、条件をかっこで囲んで掛けます。
SUMIFSとの違いは?
単純な条件ならSUMIFSのほうが読みやすいです。SUMPRODUCTは、月で絞る・「または」の条件など、SUMIFSで書きにくいときに使います。
#VALUE!になります
範囲の大きさ(行数)がそろっていないか、掛ける列に文字が入っています。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報