2025/6/21

エクセルPRODUCT関数の使い方: すべて掛ける - IFとの組合せも

Thumbnail for エクセルPRODUCT関数の使い方: すべて掛ける - IFとの組合せも

はじめに

エクセルのPRODUCT関数は、 データ集計や数値計算のときに使用されることのある関数です。

ここでは、PRODUCT関数の

  • 基本機能・使い方
  • 注意事項
  • 関連する関数
  • 使用例、応用法

について取り扱います。

基本機能・使い方

PRODUCT関数は、 選択範囲の数値を すべて掛けた値を算出する関数 です。 文字列や空白セルは無視されます。

PRODUCT関数
PRODUCT ( 数値1, 数値2)

指定した 数値1 のデータをすべて使用して乗算する。 数値2, 数値3, ... を追加することで、 計算に使用するデータを追加できる (最大: 数値255)。

数値1
: 必須
A1:A4
乗算する数値データの範囲。
数値2
: 必須
C1:D2
乗算に追加する数値データの範囲。

うまく動作しないときの原因と対策

PRODUCT関数でうまく動作しない場合、 以下の原因が考えられます。


  • 計算値がおかしい(合わない)とき:
    • 参照している値が数値でなく、文字列として認識されている
      対策:セルの書式を 数値 (or 指数など) にする。セル記入値に含まれる 空白文字特殊文字を削除する。※
    • 丸められた数値が表示されている
      対策:セルの小数点以下の表示桁数を増やす。
    • フィルタ機能や行・列の非表示による見えないセルを参照している
      対策:非表示のセルを表示させる。または、SUBTOTAL/AGGREGATE関数を使用する(フィルタ機能にのみ有効)。

  • エラー (#VALUE!, #DIV/0!, #REF!など) が出力されるとき:
    • 参照範囲にエラー値が含まれている
      対策:参照範囲からエラー値を削除する。または、AGGREGATE関数を使用する。

※ 1をかけると数値に変換できる

文字列として認識されていても、1を掛ける (または -1x-1 を掛ける) ことで数値に変換できます。

例:=1*A1, =--A1

関連する関数

PRODUCT関数と似た機能を持つ関数には、以下があります。

  • 積の基本的計算グループ
    • SUBTOTAL関数:フィルターで表示されている値のみの積を計算できる。
    • AGGREGATE関数:SUBTOTALの機能に加え、エラー値を無視して積を計算できる。
  • 積の応用(数値演算)グループ
    • POWER関数:指定した数値のべき乗(XYX^Y)を計算。
    • EXP関数:自然対数の底 ee のべき乗を計算。
    • FACT関数:指定した数値の階乗 (n!=n×(n1)××1n! = n \times (n-1) \times \dots \times 1) を計算。
  • 積の応用(配列・統計演算)グループ
    • SUMPRODUCT関数:複数の配列の対応する要素の積を計算し、その合計を返す。
    • MMULT関数:行列の積を計算。
    • GEOMEAN関数:幾何平均を計算。

使用例、応用例

PRODUCT関数の使用例・応用例として、以下のパターンを紹介します。

  • 特定のセルが条件を満たすときのみ、値を表示:IF関数との組合せ。
  • 0の値を無視して計算:IF関数との組合せ(配列数式使用)。

特定のセルが条件を満たすときのみ、値を表示

IF関数と組合せ、 特定のセルの条件によって分岐させる例です。 ここでは 状態 = OK の行のみ、計算値を表示させています。

関数の構成

=IF( E列のセル値="OK" , PRODUCT( 数値配列 ) , "" )

0の値を無視して計算

IF関数と組合せ、 選択した範囲の中に含まれる 0 を無視して 積を求める例です 0の値は、1として計算されます)。

配列数式を使用するため、動的配列数式に未対応の旧バージョンのエクセルの場合は Ctrl + Shift + Enter (CSE) で入力する必要があります。

関数の構成

=PRODUCT( IF( 数値配列=0, 1, 数値配列 ) )


【文字列を含む例】
ABCD
1❌文字列あり✅数値のみ
222
322
422
5文字列→2
622
7
81632

ABCDEF
1値1値2値3状態
2A110100OK1000
3B220200OK8000
4C330300

ABCDEF
1値1値2値3
2A1101001000
3B0202004000
4C33030027000