What is REDUCE in Google Sheets?
REDUCE walks an array left to right, carrying an accumulator value updated by a LAMBDA on each step. It can implement custom aggregates, text joins with rules, or conditional running logic that SUM alone cannot express.
When to use it
Use REDUCE when you need a single summary from a list with custom combination rules, not a spilled running column.
When to skip it
Skip REDUCE for simple totals. SUM, PRODUCT, or TEXTJOIN are faster to read. Use SCAN when you need every intermediate step visible.
How it works
-
1
Set initial accumulator value, such as 0 or empty string.
-
2
Pass the array to fold over.
-
3
Write LAMBDA(acc, value, new_acc) returning the updated accumulator.
-
4
REDUCE returns only the final accumulator after the last element.
-
5
Test on a short list in a scratch cell to verify order of operations.
-
6
Document whether your LAMBDA treats blanks as zero or skips them.
Examples in Google Sheets
Custom weighted sum
=REDUCE(0, A2:A, LAMBDA(acc, v, acc + v * 2)) doubles each value while summing.
Concat with separator
=REDUCE("", A2:A, LAMBDA(acc, v, IF(acc="", v, acc & ", " & v))) joins with commas.
Max ignoring blanks
=REDUCE(0, B2:B, LAMBDA(acc, v, IF(v>acc, v, acc))) finds max when IFERROR guards exist.
Better Sheets resources
Common mistakes
-
Using REDUCE when SCAN was needed to show each running step.
-
Wrong initial accumulator type, such as string start for numeric fold.
-
Assuming REDUCE runs in parallel; order matters for non-commutative ops.
-
Folding huge columns with heavy REGEX inside LAMBDA.
-
Duplicating SUM logic in REDUCE without reason.
Frequently asked questions
- REDUCE vs SCAN?
- REDUCE returns one final value. SCAN returns every intermediate accumulator.
- REDUCE vs SUM?
- SUM is built-in and faster to read. REDUCE allows custom logic per element.
- Can REDUCE work on text?
- Yes with string accumulators and concatenation rules.
- Initial value required?
- Yes. It is the starting accumulator before the first array element.
- REDUCE order?
- Processes array in natural order. Order matters for division or string builds.
- REDUCE with FILTER?
- FILTER the array first, then REDUCE the result.
- Why slow recalc?
- Complex LAMBDA per element on long arrays is expensive.
Related blog posts
Guides that explain REDUCE in more depth.
What's Better Than Google Sheets?
Nothing is better than Google Sheets. You just need to learn more about the unlimited power of Google Sheets. Functions, Formulas, Apps Script and more.
Read post →Getting Started in Google Sheets Spreadsheet Management
Users can also customize the appearance of their spreadsheets with different fonts, colors, and themes.
Read post →This Week in Better Sheets - Feb 12th, 2023
Make your sheets better 1% every day. Google Sheets can be boring. It can get complicated. But it doesn’t have to be. Here at Better Sheets, we don’t just make them better. We make them more fun, too.
Read post →Related terms
SCAN
SCAN is like REDUCE but returns every intermediate accumulator in a spilled column. It powers running totals, cumulative text builds, and step-by-step counters without dragging cumulative formulas.
Read guide →MAP
MAP walks aligned arrays element by element and applies a LAMBDA to each position. Pass one array for unary transforms or several arrays for element-wise combinations. It is the modern replacement for many ARRAYFORMULA column operations.
Read guide →LAMBDA
LAMBDA defines an anonymous function inside a formula. You name parameters, write the calculation, then pass arguments when you call it. Combined with MAP, BYROW, or a named LAMBDA in the Name manager, it replaces fragile copy-paste logic across big tables.
Read guide →BYROW
BYROW takes an array and a LAMBDA that receives one row at a time. It returns a column of results, one per row. It is the clean way to sum across columns, test row-wide rules, or format composite keys without ARRAYFORMULA hacks.
Read guide →Done reading about REDUCE?
Membership unlocks 600+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.
Need this once
Jump to a free tool or a single tutorial for this topic.
Learning Sheets for real
Unlock the full library, generators, and templates with membership.