Excel Array Formulas
Perform multiple calculations on entire ranges simultaneously — no helper columns, no repetition. The engine behind SUMPRODUCT, MMULT, and modern dynamic array functions. Mastering arrays unlocks Excel's true power.
An Array Formula is a formula that operates on a
range of values (an array) rather than a single cell,
performing calculations on each element and returning either a
single aggregated result or a multi-cell array of results.
In older Excel versions (pre-365), array formulas are entered with
Ctrl + Shift + Enter and appear wrapped in curly braces {}.
In Excel 365, array formulas are handled natively — just press Enter and results spill automatically into adjacent cells. The concept powers functions like SUMPRODUCT, MMULT, FILTER, SORT, UNIQUE, and enables advanced patterns like conditional counting without COUNTIF, multi-criteria sums without SUMIFS, and whole-column operations in a single cell.
=A2*B2
=SUM(A2:A11*B2:B11)
=SUM(A1:A5*B1:B5)1. Type your formula normally
2. Do NOT press Enter
3. Press Ctrl + Shift + Enter
4. Curly braces {} appear automatically
5. Never type {} manually
1. Type your formula normally
2. Press Enter (just Enter)
3. Results spill automatically
4. No {} needed or shown
5. Spill range marked with blue border
(A2:A10="North") creates an array of TRUE/FALSE.
Multiplying by *1 or another array converts TRUE→1, FALSE→0 — enabling
conditional logic. This is the foundation of =SUM((condition)*values) pattern.
Never type curly braces manually — they must be inserted by Ctrl+Shift+Enter.
A sales register has Quantity and Unit Price columns. Normally you'd add a helper column (Qty × Price per row), then SUM it. An array formula eliminates the helper column entirely — computing the total revenue directly from two separate columns in a single cell.
| A — Product | B — Qty Sold | C — Unit Price (₹) | D — Line Revenue |
|---|---|---|---|
| Laptop | 12 | 55,000 | 6,60,000 |
| Mobile | 35 | 18,000 | 6,30,000 |
| Tablet | 20 | 32,000 | 6,40,000 |
| Headphones | 60 | 4,500 | 2,70,000 |
| Smart Watch | 18 | 12,000 | 2,16,000 |
| TOTAL REVENUE (array formula) | ₹ 24,16,000 | ||
[12×55000, 35×18000, 20×32000, 60×4500, 18×12000]
= [6,60,000, 6,30,000, 6,40,000, 2,70,000, 2,16,000]
SUM( ) → ₹ 24,16,000
D2 = A2*B2, drag to D6, then =SUM(D2:D6) — needs extra column
Array formula (no helper column):
=SUM(B2:B6 * C2:C6) CSE: Ctrl+Shift+Enter
Excel 365: just =SUM(B2:B6 * C2:C6) with regular Enter
Using Boolean array logic, perform conditional SUM, conditional COUNT, conditional MAX, and conditional AVERAGE — all from the same dataset — demonstrating how array formulas replace or extend SUMIFS/COUNTIFS for scenarios those functions can't handle (like conditional MAX or conditional AVERAGE with complex criteria).
| A — Zone | B — Product | C — Sales (₹) | D — Rep |
|---|---|---|---|
| North | Laptop | 1,45,000 | Amit |
| South | Laptop | 98,000 | Priya |
| North | Laptop | 2,10,000 | Rohan |
| East | Mobile | 76,500 | Sunita |
| North | Mobile | 1,32,000 | Vikram |
| North | Laptop | 1,87,000 | Kavita |
(B2:B7="Laptop") → [1, 1, 1, 0, 0, 1] // product filter
AND both: multiply → [1, 0, 1, 0, 0, 1] // rows 1, 3, 6 pass both
× C2:C7 values → [1,45,000, 0, 2,10,000, 0, 0, 1,87,000]
Conditional SUM (North + Laptop):
=SUM((A2:A7="North")*(B2:B7="Laptop")*C2:C7) → ₹ 5,42,000
Conditional COUNT (North + Laptop transactions):
=SUM((A2:A7="North")*(B2:B7="Laptop")) → 3
Conditional MAX (highest North Laptop sale):
=MAX(IF((A2:A7="North")*(B2:B7="Laptop"),C2:C7)) → ₹ 2,10,000
Conditional AVERAGE (avg North Laptop sale):
=AVERAGE(IF((A2:A7="North")*(B2:B7="Laptop"),C2:C7)) → ₹ 1,80,667
- Finance Weighted portfolio returns — multiply weight array by return array and SUM in one formula; scales to any number of assets without helper columns or separate SUMPRODUCT calls.
-
Audit
Conditional MAX/MIN for anomaly detection — find the largest transaction in a specific category or date range using
=MAX(IF(condition, values))— impossible with standard MAX alone. -
HR
Unique count of employees in a department —
=SUM(1/COUNTIF(range,range))counts distinct values without removing duplicates, using array logic internally. - MIS Multi-condition frequency tables — build entire cross-tab summary tables using array formulas that respond to slicer-like dropdowns without pivot tables.
- Analytics Dynamic array functions (Excel 365) — FILTER, SORT, UNIQUE, SEQUENCE, RANDARRAY all return dynamic arrays that spill automatically — enabling live dashboards without manual updates.
- Tax Slab-based tax calculation across all employees — apply tiered tax logic across an entire salary column using nested IF arrays, computing each employee's liability in one formula block.
-
Sales
Rank-based extraction — extract the top-N sales values or the names of top performers using
=LARGE(IF(condition,values),k)or=INDEX(MATCH(LARGE...))array combos.
Ctrl + Shift + Enter. The formula bar will show {=SUM(A1:A5*B1:B5)} with curly braces confirming array entry.{=SUM(A1:A5*B1:B5)} by hand — with manually typed curly braces —
makes Excel treat the braces as text characters, not array operators.
The formula returns a #VALUE! error or wrong result.
Ctrl+Shift+Enter. Excel adds the braces automatically — they confirm the formula is in array mode.Ctrl+Shift+Enter. Check the formula bar — if you don't see { }, it's no longer an array formula.{=SUM(A:A*B:B)} forces Excel to perform array multiplication on
over 1 million rows on every recalculation. A single such formula can make a workbook
freeze for several seconds with every keystroke.
{=SUM(A2:A1000*B2:B1000)}. Define a named range or use a Table reference to keep the range dynamic but bounded.Ctrl+Shift+End to check for stray data. If you need to reference a spill range elsewhere, use the spill operator: =A1#