MAP and FILTER now spread results across cells
MAP and FILTER results now spread across as many cells as the result needs, instead of compressing into a single cell. Drop the formula in once, and the values fan out into the surrounding range — the same way IMPORTRANGE has worked for ranges since April.
How it looks
=MAP(A1:A10, LAMBDA(x, x * 2))
Type that into B1, and B1 through B10 fill with the doubled values. The cell you typed into becomes the anchor; the cells it fills are ghosts that read their value from the anchor's formula.
=FILTER(A2:A100, B2:B100 = "open")
Pass the range you want back as the first argument and a parallel range of conditions as the second. The result is a column that's exactly as tall as the matching rows — one row per match, no padding, no JSON-shaped placeholder.
What you can do with it now
- Reference any cell in the result.
=B5picks up the 5th value from aMAPanchored at B1, instead of having to parse a stringified array. - Chart, sort, and aggregate the output directly. Spilled cells are first-class — point a
SUM, a chart series, or another formula at the spilled range and it just works. - Compose freely. Feed a
FILTERinto aMAP, or aMAPinto aSUM— each step's output is real cells the next step can see.
Anchor and ghost behavior
The anchor cell is the only one that holds the formula; selecting any ghost shows the anchor's formula in the formula bar with a "Go to anchor" link. If something blocks the spill (you've already got data in the way), the anchor shows #SPILL! and tells you which cell is in the way — clear that cell and the spill lands.
Existing sheets get fixed up automatically
If you have older MAP or FILTER formulas that were saved before this change, they'll quietly re-evaluate the next time you open the doc and start spilling properly — no action needed on your end.