What is MAP in Google Sheets?
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.
When to use it
Use MAP to clean a column, combine two aligned lists, or apply conditional logic per cell with readable LAMBDA bodies.
When to skip it
Skip MAP when whole-row or whole-column context is required. Use BYROW or BYCOL instead.
How it works
-
1
Pass the source array as the first MAP argument.
-
2
Add LAMBDA(param, expression) as the last argument.
-
3
For two lists, MAP(A2:A, B2:B, LAMBDA(a, b, a+b)) combines pairs.
-
4
Arrays must be the same size or MAP returns errors.
-
5
Nest LET inside LAMBDA for multi-step per-cell math.
-
6
Compare results to your old drag-fill on ten rows before rolling out.
Examples in Google Sheets
Clean phone text
=MAP(A2:A, LAMBDA(v, REGEXREPLACE(v, "[^0-9]", ""))) strips non-digits per cell.
Add aligned columns
=MAP(A2:A, B2:B, LAMBDA(x, y, x+y)) sums pairs without dragging.
Tier label
=MAP(C2:C, LAMBDA(n, IF(n>=90, "A", IF(n>=80, "B", "C")))) assigns letter grades.
Better Sheets resources
Common mistakes
-
Mismatched range lengths between MAP inputs.
-
Using MAP for row-wide logic that needs BYROW.
-
Over-nesting MAP inside MAP without LET clarity.
-
Expecting MAP to skip blanks unless LAMBDA handles them.
-
Replacing a single-cell formula with MAP unnecessarily.
Frequently asked questions
- MAP vs ARRAYFORMULA?
- MAP with LAMBDA is more explicit and pairs with modern array functions.
- Multiple arrays in MAP?
- Yes. Each LAMBDA parameter maps to one input array at the same index.
- MAP on whole column A:A?
- Avoid full columns on huge sheets. Use bounded ranges.
- MAP and blanks?
- Handle with IF(ISBLANK(v), , ...) inside LAMBDA.
- Can MAP return errors per cell?
- Yes. IFERROR inside LAMBDA localizes failures.
- MAP vs BYROW?
- MAP is element-wise. BYROW sees entire rows together.
- MAP performance tips?
- Shrink ranges and simplify LAMBDA bodies on big data.
Related Tutorials
Watch how MAP works
Scrape Google Maps
10 Google Sheets I Wish Someone Would Make
Related blog posts
Guides that explain MAP in more depth.
Related terms
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 →REDUCE
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.
Read guide →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 →Done reading about MAP?
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.