Excel REDUCE 関数 (365)
REDUCE 関数は、配列内の各値に LAMBDA 関数を適用し、アキュムレータの合計値を返します。これにより、配列が集約された値に縮小されます。
構文
=REDUCE([初期値],配列,ラムダ(アキュムレータ, 値))
引数
- 初期値(オプション): アキュムレータの開始値です。省略した場合、デフォルト値は 0 です。
- 配列(必須): 縮小される配列です。
- ラムダ (必須): 配列を縮小するために適用されるカスタム LAMBDA 関数です。
- アキュムレータ(必須): 合計され、最終結果として返される値です。
- 値(必須): 配列内の各要素に適用される計算です。
戻り値
REDUCE 関数は単一の値を返します。
関数に関する注意
- REDUCE 関数は Excel for Microsoft 365 で新たに導入されました。そのため、以前のバージョンの Excel では利用できません。
- エラー値 #VALUE! 以下のいずれかの場合に発生します:
- 無効な LAMBDA 関数が指定されている場合;
- パラメータの数が間違っている場合。
例
下のスクリーンショットに示すように、データの配列があります。この配列内の偶数と奇数をそれぞれ合計するには、次の手順を実行してください:
偶数を合計するには、次の数式をセル F6 にコピーし、Enter キーを押して結果を得てください。
=REDUCE(0,B6:D9,LAMBDA(a,b,IF(ISEVEN(b), a+b,a)))
奇数を合計するには、次の数式をセル F7 にコピーし、Enter キーを押して結果を得てください。
=REDUCE(0,B6:D9,LAMBDA(a,b,IF(ISODD(b), a+b,a)))
注: 上記の各数式では、提供された初期値引数は 0 に設定されています。これは 省略可能で、空白スペースに置き換えることもできます。例えば、偶数を合計する場合、セル F6 の数式は次のように変更できます:
=REDUCE( ,B6:D9,LAMBDA(a,b,IF(ISEVEN(b), a+b,a)))
関連する関数:
Excel MAP 関数
MAP 関数は、新しい値を作成するために LAMBDA 関数を適用し、供給された配列の各値を新しい値にマッピングすることで形成された配列を返します。
Excel LAMBDA 関数
Excel の LAMBDA 関数は、ワークブック全体で再利用可能なカスタム関数を作成するために使用されます。
Excel MAKEARRAY 関数
Excel の MAKEARRAY 関数は、指定された行数と列数に基づいて計算された配列を返します。