• 更新日 : 2025年8月5日

ExcelのPRODUCT関数とは?複数データを一括乗算する使い方を解説

ExcelのPRODUCT関数(プロダクト関数)は、複数の数値を一括で掛け算できる便利な関数です。この記事では、基本的な使い方から応用例、注意点までを初心者にもわかりやすく解説します。集計や分析の効率アップに活用しましょう。

PRODUCT関数とは?

ExcelのPRODUCT関数は、指定した数値の積(掛け算の結果)を計算するための関数です。一見シンプルに思えるかもしれませんが、複数セルを一度に乗算できるPRODUCT関数を使いこなすことで、手作業による計算ミスを防ぎ、大量のデータ処理も効率的に行えるようになります。

PRODUCT関数の構文

PRODUCT関数の基本的な構文は以下の通りです。

=PRODUCT(数値1, [数値2], …)
  • 数値1:必須項目です。積を求めたい最初の数値を指定します。
  • 数値2, …:省略可能な項目です。積を求めたい2番目以降の数値を指定します。最大255個まで指定できます。

数値を直接入力する代わりに、数値が含まれるセル参照(例:A1)、セル範囲(例:A1:B5)、または数値を含む配列を指定することも可能です。

PRODUCT関数の計算例:シンプルな掛け算

たとえば、セルA1に「10」、セルB1に「5」という数値が入力されているとします。これらの積を計算したい場合、以下のようになります。

=PRODUCT(A1, B1)

この数式を入力すると、結果として「50」が返されます。これは、10 × 5 の計算結果です。

複数の数値を掛け合わせる場合も同様です。セルA1に「2」、B1に「3」、C1に「4」が入力されているとして、

=PRODUCT(A1, B1, C1)

と入力すると、「24」が返されます(2 × 3 × 4)。

PRODUCT関数が無視するもの:論理値、エラー値や空白セル

PRODUCT関数は、指定された引数の中に含まれる論理値、空白セル、文字列は無視します。引数として指定された配列やセル範囲に含まれる「数値」のみが、計算の対象となる点を押さえておきましょう。

たとえば、セルA1に「10」、B1に「5」、C1が空白、D1に「文字」が入力されているとします。

=PRODUCT(A1, B1, C1, D1)

この数式の結果は「50」となります。C1の空白とD1の文字は計算に影響を与えません。

PRODUCT関数の利用シーン:どんな時に役立つ?

PRODUCT関数は、単純な積の計算だけでなく、さまざまなビジネスシーンやデータ分析でその真価を発揮します。ここでは、PRODUCT関数が特に役立つ具体的な利用シーンをいくつかご紹介します。

請求書や見積書の作成:複数の要素から合計金額を算出

営業や経理部門では、請求書見積書の金額を算出する際にPRODUCT関数が活躍します。

たとえば、商品の数量と単価に加えて、販売単位や割引率が設定されている場合を考えます。

注文者商品名販売単位数量単価割引率
A社鉛筆12151300.75
B社消しゴム8121000.7

PRODUCT関数は、複数の数値の積を求めるものですので、掛け合わせるセルの数が多いケースほどメリットを感じられます。

例:

セルC2に販売単位「12」、セルD2に数量「15」、セルE2に単価「130」、セルF2に割引率「0.75」が入力されている場合です。

=PRODUCT(C2:F2)

上記の数式では、A社への請求金額「17550」が算出されます。

このように、個々の要素の掛け算の結果を効率的に算出する際に役立ちます。

金融計算:複利の計算や成長率の算出

金融分野では、複利の計算や投資の成長率を算出する際にPRODUCT関数が非常に有効です。

たとえば、年率5%で運用される投資があり、3年間で元本がどのように増えるかを計算するケースを考えます。

1年後の成長率:1 + 0.05 = 1.05

2年後の成長率:1 + 0.05 = 1.05

3年後の成長率:1 + 0.05 = 1.05

もし元本が100万円だとすると、3年後の金額は以下のようになります。

100万円 × (1 + 0.05) × (1 + 0.05) × (1 + 0.05)

これをPRODUCT関数で表現すると、各年の成長率をセルに入力し、それらの積を求めることで、投資の最終的な成長倍率を簡単に算出できます。

セルA1に「1.05」、セルA2に「1.05」、セルA3に「1.05」が入力されている場合です。

=PRODUCT(A1:A3)

上記の数式では、3年間の成長倍率が算出されます。この成長倍率に元本を掛け合わせれば、最終的な投資額を計算できます。

物流コスト計算:容積建ての保管料の算出

海外輸送ではコンテナで運搬されるケースが多く、容積(立方メートル)に応じて保管料が決定されることが多いです。製造業や小売業における物流コストの管理では、容積建ての保管料を算出する際にPRODUCT関数が役立つことがあります。

たとえば、パッケージまたは製品の寸法が個別のセルに入力されており

(例:長さ * 幅 * 高さ)、梱包の総容積を計算する場合です。

長さ:1.2メートル (例:セルA1)

幅:0.8メートル (例:セルB1)

高さ:0.6メートル (例:セルC1)

この梱包単位全体の容積を計算するには、長さ、幅、高さを掛け合わせるだけです。PRODUCT関数を使えば、この計算は簡単に行えます。

Excel

=PRODUCT(A1, B1, C1)

1.2 * 0.8 * 0.6 の結果は、0.576立方メートルとなります。

統計分析:確率の計算

統計学では、複数の独立した事象が同時に発生する確率を計算する際にPRODUCT関数が利用できます(積事象)。

たとえば、事象A、事象B、事象Cという3つの事象が独立である場合(お互いの結果が影響しあうことがない)、AとBとCが同時に起こる積事象の確率は、個々の発生確率の積で算出できます。

事象Aの発生確率:0.5(A1)

事象Bの発生確率:0.8(B1)

事象Cの発生確率:0.6(C1)

これらの事象がすべて同時に発生する確率を求めたい場合、それぞれの確率を掛け合わせる必要があります。

「0.5 × 0.8 × 0.6」をPRODUCT関数で計算する場合は下記のとおりです。

=PRODUCT(A1, B1, C1)

結果は、その積である「0.24」が返されます。

PRODUCT関数の応用:他の関数との組み合わせ

PRODUCT関数は単独で使うだけでなく、他のExcel関数と組み合わせることで、より複雑な計算や分析が可能になります。ここでは、PRODUCT関数の応用例をいくつかご紹介します。

配列数式としてのPRODUCT関数:条件に合致するデータの積

PRODUCT関数では、数値ではない論理値は無視されるため、直接的には使えません。複数の条件に合致するデータをPRODUCT関数で乗算する場合、あらかじめ論理値を数値化しておく手間が必要です。

条件分岐を行い、論理値を引数として使用したい場合、PRODUCT関数を「配列数式」として使用します。これにより、特定の条件を満たす数値の積を計算できます。これは、通常の関数では難しい高度なデータ抽出と計算を同時に行いたい場合に非常に有効です。なお古いバージョンのエクセルでは、配列数式は、数式を入力した後にCtrl + Shift + Enterキーで確定する必要があります。

たとえば、ある商品の売上データがあり、特定の地域(例:「東京」)の売上数だけを掛け合わせたい場合を考えます。

地域売上数
東京100
大阪80
東京120
名古屋90
東京110

このデータから「東京」地域の売上数(100, 120, 110)の積を求めたいとします。

=PRODUCT(IF(A2:A6=”東京”, B2:B6))

この数式をCtrl + Shift + Enterキーで確定すると、結果として「1320000」が返されます(100 × 120 × 110)。

IF関数で条件(地域が「東京」)に合致する行の売上数を抽出し、それ以外の行はFALSE(PRODUCT関数は無視する)とすることで、条件に合致する数値のみの積を計算できます。

INDIRECT関数との組み合わせ:動的な範囲指定

INDIRECT関数と組み合わせることで、PRODUCT関数の計算範囲を動的に変更できます。これは、データが入力されるシート名やセル範囲が頻繁に変わる場合に非常に便利です。

たとえば、シート名をセルA1に入力し、そのシートの特定の範囲の積を計算したいとします。

セルA1に「Sheet2」と入力されており、Sheet2のA1からA5までの積を計算したい場合、

=PRODUCT(INDIRECT(A1 & “!A1:A5”))

と入力すると、セルA1に入力されたシート名(ここではSheet2)のA1:A5の範囲の積が計算されます。A1のシート名を変更すれば、参照するシートも自動的に切り替わります。

【注意】SUBTOTAL関数との組み合わせ:フィルター適用時の積の計算

PRODUCT関数と直接組み合わせることはできませんが、SUBTOTAL関数は、フィルタリングされたデータに対して集計を行う場合に非常に強力な関数です。SUBTOTAL関数は、合計、平均、最大値、最小値など、さまざまな集計機能を持ちます。

なお、フィルタリングされたデータの積を求める場合は、AGGREGATE関数を使用するのが適切です。AGGREGATE関数なら、データフィルタリングなどの指定オプションを考慮しながら、PRODUCT演算(その他多数の計算方法も含む)を実行できます。

つまり、PRODUCT関数を使うと、フィルタリングされていないデータも含まれてしまいますが、AGGREGATE関数を使用すれば、フィルタリングされた範囲の積を直接計算できるのです。

PRODUCT関数のネスト:積の積を計算する

PRODUCT関数の中に別のPRODUCT関数をネスト(入れ子にする)することで、複雑な積の計算を行うことも可能です。

たとえば、部門ごとの売上貢献度があり、それがさらに製品ごとの貢献度に分かれているような階層的なデータの場合、各階層の積を順に計算できます。

部門Aの貢献度:0.8

部門Bの貢献度:0.7

製品Aの貢献度(部門A内):0.9

製品Bの貢献度(部門A内):0.7

製品Cの貢献度(部門B内):0.95

製品Dの貢献度(部門B内):0.85

この場合、部門A全体の貢献度を計算するには、部門Aの貢献度と製品A,Bの貢献度を掛け合わせます。

=PRODUCT(0.8, PRODUCT(0.9, 0.7))

このように入れ子にすることで、階層的または段階的な積の計算を実現できます。

PRODUCT関数を使う上での注意点

PRODUCT関数は非常に便利ですが、使用する際にはいくつかの注意点があります。これらを理解しておくことで、予期せぬエラーや誤った結果を防げます。

ゼロ(0)の扱い:一つでも0があると結果は0になる

PRODUCT関数で計算する数値の中に一つでも「0」が含まれている場合、計算結果は常に「0」になります。これは掛け算の基本的な性質によるものです。

たとえば、=PRODUCT(10, 5, 0, 20) の場合、結果は「0」となります。

この性質を理解しておかないと、データに偶発的にゼロが混入していた場合に、意図しない結果を招く可能性があります。

エラー値(#DIV/0!など)の扱い:計算結果がエラーになる

PRODUCT関数が参照するセル範囲にエラー値(例:#DIV/0!, #VALUE!, #N/A など)が含まれている場合、PRODUCT関数自身もそのエラー値を返します。これは、エラー値が計算を中断させるためです。

たとえば、=PRODUCT(A1, B1, C1) とあり、セルB1に#DIV/0!エラーがある場合、PRODUCT関数の結果も#DIV/0!となります。

これを避けるためには、エラー値が含まれる可能性のあるセルを事前にチェックするか、IFERROR関数などを使ってエラーを処理してからPRODUCT関数に渡す必要があります。

例:=PRODUCT(IFERROR(A1,1), IFERROR(B1,1), IFERROR(C1,1))

このようにIFERROR関数をネストすることで、エラーがあるセルを1(掛け算の結果に影響を与えない)として計算を続行できます。ただし、これは意図する計算結果と異なる可能性もあるため、エラーの原因を根本的に解決することが望ましいです。

テキストや空白セルの扱い:無視されるが注意が必要な場合も

前述の通り、PRODUCT関数は引数に含まれるテキストや空白セルを無視します。これは通常便利な機能ですが、意図せず数値以外のデータが混入している場合、期待通りの結果が得られない可能性があります。

たとえば、数値が入力されるべきセルに誤って文字が入力されていた場合、PRODUCT関数はその文字を無視して計算を行いますが、本来その文字は計算に含まれるべきデータだったかもしれません。

データの入力規則を設定したり、ISNUMBER関数などを使って数値であることを確認したりするなどの対策が有効です。

多数の引数を指定する場合のパフォーマンス

PRODUCT関数は最大255個の引数を指定できますが、あまりに多くの引数を指定したり、非常に広大な範囲を引数として指定したりすると、Excelのパフォーマンスに影響を与える可能性があります。特に、計算量が非常に多い大規模なワークシートで頻繁に使用する場合は、パフォーマンスの低下に注意が必要です。

このような場合は、データ処理の方法を見直したり、VBAを使った効率的な処理を検討したりすることも一つの手です。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事