The Excel MAKEARRAY function conjures an array out of thin air: you say how many rows and columns you want, and a LAMBDA computes each cell from its row index and column index. Where MAP and BYROW transform data you already have, MAKEARRAY builds grids from pure index math — multiplication tables, checkerboards, schedule grids, simulated data.
r (1–4) and column number c (1–4) and returns r*c.
Syntax
| Argument | Description | |
|---|---|---|
rows | Required | Number of rows in the output. Must be at least 1. |
cols | Required | Number of columns in the output. Must be at least 1. |
lambda | Required | A two-parameter LAMBDA: the current cell’s row index, then its column index (both starting at 1). The body returns that cell’s value. |
Available in: Excel for Microsoft 365 and Excel for the web only. Older versions show #NAME?. The result spills as a rows × cols dynamic array.
Build a grid from index math
One formula, no source data. Each cell is computed from its coordinates:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 1 | 2 | 3 | 4 |
| 2 | 2 | 4 | 6 | 8 |
| 3 | 3 | 6 | 9 | 12 |
| 4 | 4 | 8 | 12 | 16 |
Anything you can express in terms of “which row am I, which column am I” works:
Try it: size a times table live
Drag the sliders — MAKEARRAY regenerates the multiplication table at the new size.
Practical grids: calendars, lookups, simulations
Real work rarely needs a times table, but it constantly needs structured grids. A month-view calendar skeleton — 5 weeks × 7 days, numbered from a chosen weekday offset:
Index math also reshapes data: pull a flat list into a 2-D grid by computing which list item belongs in each cell:
And quick simulated data for testing:
Simpler tool first: for a plain run of numbers, SEQUENCE does it with less ceremony. MAKEARRAY earns its keep when each cell needs logic, not just a count. To process existing data instead, see MAP, BYROW, and REDUCE.
Errors & common pitfalls
#CALC! — wrong parameter count in the LAMBDA. MAKEARRAY always passes two values — row index, then column index — so the LAMBDA must declare exactly two parameters even if the body only uses one: LAMBDA(r, c, r^2).
#VALUE! — rows or cols isn’t a positive number. Zero, negative, or text dimensions fail. Decimals get truncated.
#NAME? — older Excel. MAKEARRAY exists only in Excel for Microsoft 365 and Excel for the web.
Pitfall: the indexes are array-relative, not sheet rows. r and c always start at 1 in the array’s top-left corner, no matter where the formula lives on the sheet. Don’t mix them up with ROW() and COLUMN(), which return sheet coordinates.
Pitfall: #SPILL! and performance. The output needs a clear rows × cols landing zone, and every cell runs the LAMBDA once — a 1,000×1,000 MAKEARRAY is a million evaluations. Keep grids sized to what you’ll actually read.
Practice workbook
Frequently asked questions
What does the Excel MAKEARRAY function do?
What's the difference between MAKEARRAY and SEQUENCE?
What's the difference between MAKEARRAY and MAP?
Why does MAKEARRAY return #CALC!?
LAMBDA(r, c, body) even when the body ignores one of them.Can I make a multiplication table in Excel with one formula?
=MAKEARRAY(10, 10, LAMBDA(r, c, r*c)) spills a complete 10×10 times table. Change the two dimension arguments for any other size.Which Excel versions support MAKEARRAY?
Master functions like this in one day
This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.
See the Formulas & Functions Class