Logical

REDUCE Function in Excel

Reduces an array to an accumulated value by applying a LAMBDA to each value.

Syntax

  • =REDUCE([initial_value], array, lambda)

Arguments

  • initial_value (optional): Starting value for accumulator
  • array (required): Array to reduce
  • lambda (required): LAMBDA(accumulator, value) to apply

Examples

  • =REDUCE(0, A1:A5, LAMBDA(a,b, a+b)) - Sum array - Result: Sum

Excel REDUCE function documentation

  • REDUCE folds an array to a single value by applying a LAMBDA cumulatively.
  • Syntax: =REDUCE(initial_value, array, LAMBDA(accumulator, value, calculation)). Microsoft 365.
  • General-purpose aggregation — sum, product, max, custom logic in one function.
  • Related: [SCAN](/functions/scan/), [MAP](/functions/map/), [BYROW](/functions/byrow/), [AGGREGATE](/functions/aggregate/).

REDUCE syntax

  • initial_value: starting accumulator (0 for sum, 1 for product).
  • array: values to fold left-to-right.
  • LAMBDA takes accumulator and current value — returns new accumulator.
  • Order matters for non-commutative ops like subtraction.

Step-by-step: custom sum with REDUCE

  • Step 1 — Values A2:A100.
  • Step 2 — =REDUCE(0, A2:A100, LAMBDA(a,v, a+v)) equivalent SUM.
  • Step 3 — Conditional sum: LAMBDA(a,v, IF(v>0, a+v, a)).
  • Step 4 — Compare SUMIFS for readability in simple cases.
  • Step 5 — REDUCE shines for complex accumulator state (running max of positives etc.).

REDUCE vs SCAN vs SUM

  • REDUCE — final single result.
  • SCAN — shows every intermediate accumulator state spilled.
  • SUM — simple additive aggregation.
  • Logical functions: [/categories/logical/](/categories/logical/).

Worked examples to copy

  • Sum: =REDUCE(0, rng, LAMBDA(a,v, a+v)).
  • Product: =REDUCE(1, rng, LAMBDA(a,v, a*v)).
  • Max: =REDUCE(-1E+99, rng, LAMBDA(a,v, MAX(a,v))).
  • Concat: =REDUCE("", rng, LAMBDA(a,v, a&v)).

People also ask

  • REDUCE Excel 2019? — No; 365 LAMBDA.
  • REDUCE order? — Left to right through array.
  • REDUCE performance? — Slower than SUM on huge ranges — use native when possible.
  • REDUCE vs folding in Python? — Same functional reduce concept.

Common errors

  • Requires Excel 365
  • LAMBDA needs 2 parameters

Use cases

  • Custom aggregations
  • Running totals
  • Complex calculations

Frequently asked questions

  • How is REDUCE different from SUM or other aggregate functions? REDUCE lets you define custom aggregation logic. While SUM just adds, REDUCE can do anything: =REDUCE(1, A1:A5, LAMBDA(a,b, a*b)) multiplies all values (like PRODUCT). You control the logic with LAMBDA.
  • How do I find the maximum using REDUCE? Use =REDUCE(MIN(array), array, LAMBDA(a,b, IF(b>a, b, a))). Start with the minimum, then keep the larger of accumulator and current value. This demonstrates REDUCE's flexibility for custom aggregations.
  • What is the initial_value for? Initial_value is the starting point for accumulation. For sum, use 0. For product, use 1. For string concatenation, use "". If omitted, the first array element becomes the initial value and processing starts from the second.

Editorial review

  • Reviewed by Excel.Directory Editorial Team. Updated May 2026.

When to use REDUCE

  • Custom aggregations — common Logical scenario for REDUCE.
  • Running totals — common Logical scenario for REDUCE.
  • Complex calculations — common Logical scenario for REDUCE.

REDUCE in the Logical category

  • Browse all Logical functions at /categories/logical/ for related formulas.
  • REDUCE syntax: =REDUCE([initial_value], array, lambda)
  • initial_value (optional): Starting value for accumulator
  • array (required): Array to reduce
  • lambda (required): LAMBDA(accumulator, value) to apply
  • Confirm REDUCE arguments match the syntax shown above before filling down.
  • Lock table and range references with $ when copying formulas across rows or sheets.

Formula checklist before you copy down

  • Confirm REDUCE arguments match the syntax shown above before filling down.
  • Lock table and range references with $ when copying formulas across rows or sheets.
  • If results look wrong, check for text stored as numbers and invisible spaces with TRIM.
  • Spot-check three known input rows manually against expected output.

Related Excel functions

  • LAMBDA (/functions/lambda/): Creates custom, reusable functions that can be called by a friendly name.
  • MAP (/functions/map/): Returns an array formed by mapping each value in the array(s) to a new value using a LAMBDA.
  • SCAN (/functions/scan/): Scans an array by applying a LAMBDA to each value and returns an array of intermediate values.

Errors to watch for

  • Requires Excel 365 — review causes on linked error pages in the directory.
  • LAMBDA needs 2 parameters — review causes on linked error pages in the directory.

Copy-paste audit workflow

  • Enter REDUCE on three test rows with known expected output documented on a QA tab.
  • Fill down only after absolute references are locked on lookup tables and rate tables.
  • Compare against manual calculation or a calculator for financial and statistical functions.
  • Search this directory for comparison guides when choosing between similar functions in the same category.

REDUCE worked examples to copy

  • =REDUCE(0, A1:A5, LAMBDA(a,b, a+b)) — Sum array. Expected result: Sum.

REDUCE reference summary for crawlers and offline review

  • REDUCE belongs to the Logical category in Excel. Reduces an array to an accumulated value by applying a LAMBDA to each value.
  • Full syntax: =REDUCE([initial_value], array, lambda). Open /functions/reduce/ for parameters, FAQs, and related pages.
  • Common mistakes: Requires Excel 365; LAMBDA needs 2 parameters
  • Pair this function with comparison guides when another Excel formula might fit the same task better.
  • Review fix-excel-formula-errors when unexpected errors appear after upgrading Excel or sharing across locales.