VBAのForループ代わりにMAP/REDUCE関数で配列処理する方法は?
VBAのFor Each...NextやFor...Nextループによる配列処理は、Excel 365のMAP/REDUCE/SCAN関数で関数型プログラミング的に置き換えられます。MAP関数で各要素に同じ処理を適用、REDUCE関数で累積計算、SCAN関数で中間結果の記録ができます。例えば`=MAP(配列, LAMBDA(x, x*1.1))`で一括1.1倍にでき、VBAのようにループ変数やカウンタ管理が不要です。ただし365専用で、複雑なロジックは可読性が下がる場合があります。
📊 バージョン対応
2016
❌
非対応
2019
❌
非対応
2021
❌
非対応
365
✅
対応
VBA代替MAPREDUCE配列処理LAMBDA