FormulaFix · Plain-English guides to Excel and Google Sheets formulas
How to Use ARRAYFORMULA in Google Sheets: A Complete Guide
1. Understanding ARRAYFORMULA and When to Use It
ARRAYFORMULA is a Google‑Sheets‑only function that tells a formula to work on whole ranges instead of a single cell. When you wrap a regular expression such as A2:A10*B2:B10 in ARRAYFORMULA, Sheets automatically expands the calculation down the column and returns an array of results.
Situation
Typical non‑array approach
With ARRAYFORMULA
Add two columns row‑by‑row
=A2+B2 copied down
=ARRAYFORMULA(A2:A+B2:B)
Pull the first word from a list of sentences
=LEFT(A2, FIND(" ",A2)-1) copied down
=ARRAYFORMULA(LEFT(A2:A, FIND(" ",A2:A)-1))
Flag rows that meet a condition
=IF(C2="Yes",1,0) copied down
=ARRAYFORMULA(IF(C2:C="Yes",1,0))
Why use ARRAYFORMULA?
Speed & Simplicity – One formula replaces dozens of duplicated cells, reducing file size and making the sheet easier to audit.
Result: 120, 200, 350, 445. The comparison builds a grid of 1s and 0s that keeps only the current and earlier rows, and MMULT adds them up for each row.
Put this in C1. The header and the open-ended results come from a single cell, so new rows are picked up automatically.
5.5 FILTER does not need ARRAYFORMULA
=FILTER(A2:A, B2:B>=80)
FILTER, UNIQUE, SORT and QUERY already return arrays, so wrapping them in ARRAYFORMULA adds nothing.
6. FAQ
What is ARRAYFORMULA in Google Sheets?
ARRAYFORMULA is a function that forces a formula to operate on an entire range, returning a spill‑over array of results instead of a single value. It lets you replace many copy‑down formulas with one dynamic expression.
How do I use ARRAYFORMULA with a VLOOKUP?
Wrap the VLOOKUP call in ARRAYFORMULA and give it a range for the lookup value, e.g., =ARRAYFORMULA(VLOOKUP(A2:A, Sheet2!$A$2:$C$100, 3, FALSE)). The formula returns the matching column for each row in A2:A. Without ARRAYFORMULA, VLOOKUP would return only one result.
Can ARRAYFORMULA be used with conditional logic?
Yes. Place any conditional function—IF, IFS, SWITCH, or even COUNTIFS—inside ARRAYFORMULA. For example, =ARRAYFORMULA(IF(B2:B>100, "High", "Low")) evaluates the condition for every cell in B2:B and returns a parallel array of “High” or “Low”.
Tip: Whenever you use ARRAYFORMULA, keep the target column free of other formulas and prefer open‑ended ranges (e.g., A2:A) so new rows are automatically included. This practice maximises the benefits of dynamic, single‑cell calculations.