更新日:、 作成日:

エクセル PRODUCT 関数:掛け算した合計を求める

はじめに

エクセルの PRODUCT 関数の使い方を紹介します。

PRODUCT 関数はすべての数値を掛け算した合計を求めます。

=PRODUCT(A1:A3) のようにして、セルの範囲をすべて掛け算した合計を計算できます。

=PRODUCT(IF(A1:A3<>0,A1:A3)) のようにして、0 以外の数値を掛け算した合計を計算できます。

セルの範囲同士を掛けた和の合計を求めるには「SUMPRODUCT 関数」を使用します。

PRODUCT 関数の引数

PRODUCT(数値1)
PRODUCT(数値1, 数値2 …)
すべての数値を掛け算した合計を求めます。

引数「数値」セルの範囲、数値を指定できます。

使い方

PRODUCT 関数の使い方を紹介します。

セルの範囲を掛け算する

セルの範囲「B3」~「B5」を掛け算します。

=PRODUCT(B3:B5)

B3*B4*B5 のような式になります。

8

複数の範囲を掛け算する

セルの範囲「B3」~「B5」と「C3」~「C5」を掛け算します。

=PRODUCT(B3:B5,C3:C5)
9

数値を掛け算する

2, 3, 10 を掛け算します。

=PRODUCT(2,3,10)
10

非表示のセルを無視して掛け算する

非表示のセルを無視して掛け算するには「AGGREGATE 関数」を使用します。

高度な使い方

PRODUCT 関数と他の関数を組み合わせた使い方などを紹介します。

条件を指定する

条件に一致しているセルだけで掛け算するには、判定用の列を作成してその中に「IF 関数」で条件を入力します。その結果を引数「数値」に指定して計算します。

名前が エクセル の条件を入力します。

=IF(B2="エクセル",C2)

その結果を引数「数値」に指定して掛け算します。

=PRODUCT(D3:D7)
12
文字列かどうかや空白など、特定の値を条件にする方法は「COUNTIF 関数」にまとめています。

判定用の列を作成しない (スピル)

判定用の列を作成しないで掛け算するには「スピル」を使用します。

=PRODUCT(IF(B3:B7="エクセル",C3:C7))

IF 関数」の中にセルの範囲を入力しているのでスピルします。

IF 関数」の条件に一致するときは、掛け算するための値を返しています。それを PRODUCT 関数で掛け算します。

条件に「AND 関数」や「OR 関数」はスピルされないため使用できません。

スピルで AND や OR 条件にするには「スピル、動的配列数式の使い方」をご覧ください。
スピルは 365 または 2021 から使用できます。

数式を Ctrl + Shift + Enter で確定すると「配列数式」になり、すべてのバージョンで使用できます。

判定用の列を作成しない (ラムダ)

判定用の列を作成しないで掛け算するには「MAP 関数」を使用します。複雑なので詳細は関数のページをご覧ください。

=PRODUCT(
MAP(B3:B7,C3:C7,
LAMBDA(b,c,
IF(b="エクセル",c,FALSE))))

MAP 関数」に条件を入力します。OR 条件にしたり、「EXACT 関数」を使用して大文字小文字を区別できます。

ラムダは 365 で使用できます。

解説

引数「数値」が日付なら、日付の実際の値は数値なのでその値を計算します。

引数「数値」に文字列や TRUE や FALSE、空のセルが含まれるときは、そのセルを無視します。

文字列の数字

文字列として入力された数字の '10 や空白が入っている  10 などは、文字列のため無視されます。

それらを数値として計算するには「VALUE 関数」を使用します。

=VALUE(B2)
=PRODUCT(D3:D5)

スピル」を使用して次のようにもできます。

=PRODUCT(VALUE(B3:B5))
スピルは 365 または 2021 から使用できます。

数式を Ctrl + Shift + Enter で確定すると「配列数式」になり、すべてのバージョンで使用できます。

11