📊つかえる関数.com

REDUCE関数で累計(ランニングトータル)を計算する方法は?

新機能上級·更新: 2026-02-12
REDUCE関数を使うと、配列を反復処理しながら累積的な計算を行えます。累計を計算するには `=SCAN(0, B2:B100, LAMBDA(合計, 値, 合計+値))` のようにSCAN関数を使う方が簡単ですが、REDUCEでも `=REDUCE(0, B2:B100, LAMBDA(累計配列, 値, VSTACK(累計配列, SUM(累計配列)+値)))` のように実現できます。初期値を0とし、各要素を順次加算しながら配列を構築します。REDUCEは単一の結果を返すため、累計の配列を作るにはVSTACKなどと組み合わせる必要があります。

📊 バージョン対応

2016
REDUCE/SCAN関数は未対応
2019
REDUCE/SCAN関数は未対応
2021
REDUCE/SCAN関数は未対応
365
対応

📋 実務での使用例

💼 売上累計の計算(SCAN使用)

月次売上の累計を計算

=SCAN(0, B2:B13, LAMBDA(累計, 売上, 累計+売上))
  1. B列に月次売上が入力されている場合
  2. SCAN関数で各月の累計を計算
  3. 結果が縦に並んだ累計配列として出力される

💼 合計値の計算(REDUCE使用)

配列の合計値を1つの値として取得

=REDUCE(0, B2:B100, LAMBDA(合計, 値, 合計+値))
REDUCESCANLAMBDA累計動的配列
📄

動的配列関数 移行マップ

旧関数 → 新関数の書き換え一覧(2021/365対応)

準備中※ PDFは現在作成中です。近日公開予定