Spreadsheet Practice

How to make a multiplication table in Excel

Excel formula

=A3:A12*B2:K2

Multiply a column by a row: =A3:A12*B2:K2 fills the whole 10 by 10 table from one cell.

Result on the example
a 10-row list that spills from B3 in B3
Works in
Excel 2021, 2024 and Microsoft 365
Google Sheets
Different formula, see below

See it work

The formula is already in B3. Change any input and the result updates, or edit the formula to experiment.

How it works

When a column of 10 values meets a row of 10 values in one calculation, Excel pairs every row with every column and returns a 10 by 10 grid. The cell in row 7, column 4 of the result is 7 × 4. Change a header and its whole row or column updates. Google Sheets needs ARRAYFORMULA for the same result.

=A3:A12*B2:K2

Result{10 rows × 10 cols} 1, 2, 3, 4, …

  1. A3:A1210 rows × 1 col: 1, 2, 3, 4, …

    A range: 10 cells in one column.

  2. B2:K21 row × 10 cols: 1, 2, 3, 4, …

    A range: 10 cells in one row.

  3. A3:A12*B2:K2{10 rows × 10 cols} 1, 2, 3, 4, …

    The * operator multiplies.

In Google Sheets

Google Sheets needs a different formula: =ARRAYFORMULA(A3:A12*B2:K2). On the same data it gives the same result. Here it is running in Google Sheets mode.

Other ways to do it

Each one was run on the same example sheet.

FormulaResultWhen to use it
=SEQUENCE(10)*SEQUENCE(1,10)spills 10 × 10Builds both sets of factors itself, with no headers needed.

Common mistakes

  • Two ranges of the same shape multiply pair by pair instead: A3:A12*A3:A12 gives one column of squares. The grid needs one column and one row.
  • For the classic fill-down version, lock the column of the first factor and the row of the second: =$A3*B$2 in B3, filled across and down.

Try it yourself

Same data, empty answer cell. Your formula is graded instantly, then re-checked on changed data, so a typed-in number won't pass.

Make a multiplication table

In B3, write one formula that fills the table: each number in A3:A12 times each number in B2:K2.

Questions

Why does $A3*B$2 work when filled?

The $ before A keeps the left factor in column A, and the $ before 2 keeps the top factor in row 2, so every cell multiplies its own row header by its own column header.

How do I make a 12 by 12 table?

Use =SEQUENCE(12)*SEQUENCE(1,12), or extend the headers to 12 and the ranges to match.

Checked by running on 2026-10-30: every formula and result on this page was calculated by the Spreadsheet Practice formula engine, in both Excel and Google Sheets modes.