各値に LAMBDA を適用し、アキュムレーターに合計値を返すことで、配列を累積値に減らします。
構文
=REDUCE([initial_value], array, lambda(アキュムレータ, 値, 本文))
REDUCE 関数の構文には、次の引数とパラメーターがあります:
- 
              [initial_value] アキュムレーターの開始値を設定します。 
- 
              配列 減らす配列。 
- 
              lambda 配列を減らすために呼び出される LAMBDA。 LAMBDA は、次の 3 つのパラメーターを受け取ります。 - 
                  アキュムレーター 値が合計され、最終結果として返されました。 
- 
                  値 配列の現在の値。 
- 
                  体 配列内の各要素に適用される計算。 
 
- 
                  
解説
initial_value 引数を使用して、アキュムレーター パラメーターの開始値を設定します。 アキュムレーターを乗算する例 2 では、値を 1 に設定して、0 が乗算されないようにします。
エラー
無効な LAMBDA 関数または誤った数のパラメーターを指定すると、#VALUE! が返されます 「不正なパラメーター」と呼ばれるエラー。
例
例 1:2 乗値を合計する
サンプル データをセル A1:C2 に入力し、数式をセル D4 にコピーします。
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
             
例 2:カスタマイズされた "PRODUCTIF" 関数を作成して、50 を超える値のみを乗算する
セル E1 から始まる "nums" という名前の列を 1 つ持つ "Table3" という名前のテーブルを作成します。 セル G2 に次の数式をコピーします。
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
             
例 3:偶数の値のみを数える
セル D1 から始まる「Nums」という名前の 1 つの列を持つ「Table4」という名前のテーブルを作成します。 セル F2 に次の数式をコピーします。
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))
             
 
                         
				 
				