目次
SUMPRODUCT関数
引数として指定した配列の積を計算し、次にその和を返す関数です。複数条件で抽出した数値を合計することもできます。
SUMPRODUCT関数の書式と引数
SUMPRODUCT(配列 1, [配列 2], [配列 3], …)
配列 1 | 計算の対象となる要素を含む、最初の配列引数を指定します。 |
[配列 2], [配列 3], …. | 省略できます。計算の対象となる要素を含む配列引数を指定します。 |
SUMPRODUCT関数は、積の合計を求める関数です。SUMPRODUCT関数の基本的な使い方を、おさらいしてみましょう。
積を計算して合計を求める
F2に、「在庫×単価」を求める式を入力しましょう。
F2 =SUMPRODUCT(C2:C9,D2:D9)
「9,570」が返されます。
この式を説明すると、次の式になります。
F2 =C2*D2+C3*D3+C4*D4+C5*D5+C6*D6+C7*D7+C8*D8+C9*D9
配列の対応する要素間の積を合計
H2に、「(品物の個数)×単価」を求める式を入力しましょう。
H2 =SUMPRODUCT(C2:D9,E2:F9)
「14,940」が返されます。
この式を説明すると、次の式になります。
H2 =(C2*E2+C3*E3+C4*E4+C5*E5+C6*E6+C7*E7+C8*E8+C9*E9)+(D2*F2+D3*F3+D4*F4+D5*F5+D6*F6+D7*F7+D8*F8+D9*F9)
範囲の合計を求める
F2に、在庫数の合計を求める式を入力しましょう。
F2 =SUMPRODUCT(C2:C9)
「86」が返されます。
この式を説明すると、次の式になります。
F2 =C2+C3+C4+C5+C6+C7+C8+C9
条件に一致したセルを合計
G2に、品番「A102」に一致する在庫の合計を求める式を入力しましょう。
G2 =SUMPRODUCT((A2:A9=”A102″)*1,C2:C9)
「21」が返されます。
セルを参照する式は、次のようになります。
G2 =SUMPRODUCT((A2:A9=E2)*1,C2:C9)
条件に一致した積の合計を求める
G2に、店舗「青山」に一致する「在庫×単価」の合計を求める式を入力しましょう。
G2 =SUMPRODUCT((B2:B9=”青山”)*1,C2:C9*D2:D9)
「4,570」が返されます。
セルを参照する式は、次のようになります。
G2 =SUMPRODUCT((B2:B9=F2)*1,C2:C9*D2:D9)
複数条件に一致したセルを数える
H2に、品番「A108」かつ在庫「>=10」に一致する在庫を数える式を入力しましょう。
H2 =SUMPRODUCT((A2:A9=”A108″)*(C2:C9>=10))
一致する在庫は2つです。「2」が返されます。
セルを参照する式は、次の式です。
H3 =SUMPRODUCT((A2:A9=F3)*(C2:C9>=G3))
複数条件に一致したセルを合計
G2に、品番「A102」かつ 店舗「東京」に一致する「在庫」の合計を求める式を入力しましょう。
G2 =SUMPRODUCT((A2:A9=”A102″)*(B2:B9=”東京”),C2:C9)
「15」が返されます。
セルを参照する式は、次のようになります。
G2 =SUMPRODUCT((A2:A9=F2)*(B2:B9=G2),C2:C9)
複数条件に一致したセルの積を合計
G2に、品番「A108」かつ 店舗「青山」に一致する「在庫×単価」の合計を求める式を入力しましょう。
G2 =SUMPRODUCT((A2:A9=”A108″)*(B2:B9=”青山”),C2:C9*D2:D9)
「2,530」が返されます。
セルを参照する式は、次のようになります。
G2 =SUMPRODUCT((A2:A9=F2)*(B2:B9=G2),C2:C9*D2:D9)
SUMPRODUCT関数は配列数式ができる便利な関数です
エクセルSUMPRODUCT関数は複数条件で抽出した数値を合計できる関数ですが、SUMPRODUCT関数以外にも複数条件で抽出した値を合計できる関数はあります。DSUM関数、SUMIFS関数が複数条件で値を合計できます。SUMPRODUCT関数との違いは、SUMPRODUCT関数は配列計算ができることです。数を数えたり合計を求めることができる便利な関数です。
こちらの記事もご覧ください。⇒エクセルDSUM関数で複数条件を指定して抽出した数値を合計する