エクセル(EXCEL)のSUMPRODUCT関数の使い方と例です。
目次
SUMPRODUCT関数の書式の解説
書式(構文)
書式と説明 | 関数の分類 |
---|---|
=SUMPRODUCT(配列1, [配列2], [配列3], …) ▼指定された配列で対応する要素の積を合計する。 | 数学・三角 |
配列1 | 計算対象になる1つ目の配列 | 必須 |
---|---|---|
配列2 | 2個目以降は、掛け合わせていく配列をカンマ区切りで指定 | 任意 |
使用時のポイント |
---|
配列のサイズを一致させる 数値でないデータが含まれる場合、それらは0として扱われる 単一のセルを配列として使用することもできる |
SUMPRODUCT関数の使い方と使用例
配列と配列の積の合計を出す
【使用例】
=SUMPRODUCT(A2:A3,C2:C3)
1:商品Aの範囲A2:A3を選択
2:カンマで区切って、掛け合わせたい単価の入ったC2:c3の範囲を選択
3:A列とC列の対応した位置を掛けて合計する(A2×C2 + A3×B3)
結果:1300
SUMPRODUCT関数は、配列の要素と配列の要素を掛け合わせて合計する関数です。A2:A3とC2:C3を指定した場合は、A2に対応する要素のC2を掛けた値と、A3とC3を掛けた値を合計した結果が返されます。
数値以外は無視して計算される
SUMPRODUCT関数では、数値以外の値は無視して計算されます。
複数の配列を使用する
【使用例】
=SUMPRODUCT(A2:A3, B2:B3, 1-C2:C3)
1:数量の配列A:A3を指定
2:掛け合わせたい単価の配列B2:B3を指定
3:割引率を1から引いた配列を指定→割引後の価格の値を出す
結果:1380 4×100×(1-0.1) + 6×200(1-0.15)
配列要素を複数指定した場合は、対応する位置の値が乗算されていき、最終的にそれらの積を合計した値になります。例のように配列に四則演算に組み合わせることも可能です。
1つの配列の合計を出すこともできる
SUMPRODUCT関数は、1つの配列の合計を出すことも可能です。配列を1つしか指定しない場合は、SUM関数と同じ単純な合計になります。
SUMPRODUCT関数の応用テクニック
条件付きの合計を得る
【使用例】
=SUMPRODUCT((C2:C3="家電")*(B2:B3))
1:C2:C3のうち、家電の物を判別、TRUEかFALSEが返される
2:条件がTRUEになったC2に対応するB2の値が返される
結果:500
SUMPRODUCT関数は、条件にTRUEまたはFALSEを返す式を組み込むことができます。上記の例では家電に対応した配列の位置が取り出されています。
もちろん、この関数に個数の列を追加して、2つ目の配列の引数にしてあげれば合計を出すことが可能です。
複数条件を組み合わせて合計する
【使用例】
=SUMPRODUCT((C2:C5="家電") * (B2:B5>=400) * B2:B5)
1:c2:c5の配列から「家電」のものを抽出
2:売上のうち400以上のものを抽出
3:取り出した値を合計する
結果:900
SUMPRODUCT関数では、TRUEやFALSEを返す、論理関数や、不等号、ROUND関数など非常に多くの式を組みあわせることができます。例えば、特定の日付範囲内のデータのみを集計したり、特定の文字列を含むデータのみを計算に含めたりすることが可能です。SUMPRODUCT関数を用いることで、これらの条件を組み合わせて、データの分析や集計をより柔軟に行うことができます。
条件に設定できる式の例
数式の種類 | 例 |
---|---|
比較演算子 | 等しい (=), 例: (A1:A10=”条件”) 異なる (<>), 例: (A1:A10<>”条件”) より大きい (>), 例: (B1:B10>100) より小さい (<), 例: (B1:B10<100) 以上 (>=), 例: (B1:B10>=100) 以下 (<=), 例: (B1:B10<=100) |
論理関数 | AND条件: 複数条件の組み合わせ, 例: ((A1:A10=”条件1″) * (B1:B10=”条件2″)) OR条件: +演算子を使用, 例: ((A1:A10=”条件1″) + (A1:A10=”条件2″)) |
数値関数 | ROUND, FLOOR, CEILINGなどの丸め関数, 例: (ROUND(B1:B10,0)=100) ABS(絶対値), 例: (ABS(B1:B10)>100) |
日付関数 | YEAR, MONTH, DAYなどの日付抽出関数, 例: (YEAR(A1:A10)=2024) TODAY, DATEなどの日付生成関数, 例: (A1:A10<TODAY()) |
テキスト関数 | LEFT, RIGHT, MIDなどの文字列抽出関数, 例: (LEFT(A1:A10,1)=”A”) LEN(文字列の長さ), 例: (LEN(A1:A10)>5) |
コメント