Explainer

Named ranges and structured references

A name or a table column stands in for a cell address, so formulas read in words and, with tables, stay complete when rows are added.

Last updated: 14 October 2026

Explains: named range, structured reference

What it is: A name (VatRate) or a table column (Journal[Amount]) is a label that Excel resolves to a cell or range when it calculates: =B2*VatRate gives the same result as =B2*$E$2.

Why it matters: A formula such as =B2*$E$2 tells you where to look but not what you are looking at, and a table also keeps its references complete when rows are added. Clients use both all the time. They make formulas readable and hide where a value lives, so you need to know how to read and check them.

Two ways to give data a name

Excel offers two kinds of names. A named range (also called a name) is a label you attach to a cell, a range, a constant or a formula, such as VatRate for cell $E$2.

A table is a block of data that Excel treats as one object with a name of its own, and whose columns you address by header, such as Journal[Amount]. That second form is called a structured reference.

Both replace an address by a word, but they solve different problems. A name gives one value or one fixed area a meaning. A table gives a list that keeps growing a shape that Excel maintains for you, so formulas stay complete when rows are added.

Creating and managing a name

There are three places to work with names:

  • in the Name Box (the quickest way): select the cell or range, type the name in the Name Box left of the formula bar and press Enter
  • with Formulas > Define Name: opens a dialog where you also choose the scope and add a comment
  • in Name Manager (Ctrl+F3): lists every name with its value, the range it refers to and its scope, and lets you edit, rename or delete

A name has to follow a few rules:

  • it starts with a letter, an underscore or a backslash
  • it has no spaces (use VatRate or Vat_Rate)
  • it may not look like a cell address
  • it is not case sensitive and can hold up to 255 characters

Renaming a name in Name Manager updates every formula that uses it.

WayWhereUse it to
Name BoxLeft of the formula barName the selected cells in one step
Define NameFormulas tabSet scope and comment while creating
Name ManagerCtrl+F3Review, edit, rename and delete all names
Create from SelectionCtrl+Shift+F3Turn the headers of a block into names for its columns

Scope: workbook or worksheet

Watch out: When a workbook name and a worksheet name share a word, the worksheet name wins on its own sheet. That is a quiet source of wrong totals, so avoid giving both the same word.

Every name has a scope. A workbook name works on every sheet under the same word.

A worksheet name only works on its own sheet, and the same word can exist on several sheets with a different meaning, for example Total on each monthly sheet. Name Manager shows the scope in its own column.

From another sheet you reach a worksheet name by putting the sheet in front: January!Total.

ScopeWorksTypical use
WorkbookOn every sheet, same wordVAT rate, materiality, year end
WorksheetOnly on its own sheetThe same layout copied per month or entity

Names for constants and formulas

A name does not have to point to a cell. In the Refers to box of Name Manager you can type a constant such as =0.21 or a formula such as =Sheet1!$E$2*12. The first gives you a rate without a cell, the second a calculation you reuse under one word.

For an input that matters to the audit, prefer a labelled cell that you name. A reviewer then sees the value in the grid, can trace it, and the name only supplies the readable word. A rate hidden in Name Manager changes every formula and shows in no cell.

=ROUND(SUM(B2:B7)*VatRate, 2)
=ROUND(SUM(B2:B7)*VatRate; 2)

VatRate is the name of the input cell $E$2, so the formula says what it does.

=SUMIFS(C2:C9, C2:C9, ">"&ConfirmLimit)
=SUMIFS(C2:C9; C2:C9; ">"&ConfirmLimit)

A named threshold in a criterion: the amounts above the confirmation threshold.

Excel tables

Select a cell in your data and press Ctrl+T (or use Insert > Table, or Format as Table on the Home tab), and confirm that the data has headers.

Excel gives the block a name such as Table1; change it under Table Design in the Table Name box to something meaningful, for example Journal. Headers must be text and unique.

A table grows by itself. Type or paste a row directly under the last one and the table extends, formats the new row and copies a column formula down. The Total Row (in Table Design) adds a row with SUBTOTAL, which ignores rows hidden by a filter.

Structured references

A structured reference is built from:

  • the table name
  • the column header between brackets
  • optionally, a special item that selects a part of the table

Excel writes it for you when you click a table column while typing a formula. The reference covers exactly the data rows, so it extends and shrinks with the table and never includes the header or the total row by accident.

The brackets follow a few rules:

  • a header with a space needs no extra brackets: Journal[Net amount]
  • extra brackets are needed for special characters in the header (comma, period, #, brackets, apostrophe) and for a header with a space after @: [@[Net amount]]
  • inside the table, [@Amount] means the cell of this row, so a calculated column reads =[@[Net amount]]*VatRate

Dutch Excel shows the special items translated, as the table says; the column headers and your table name stay as you typed them. The formulas on this site are stored in English form.

FormRefers toIn Dutch Excel
Journal[Amount]The data cells of the Amount columnJournal[Amount]
Journal[@Amount]The Amount cell in the row of the formulaJournal[@Amount]
Journal[#Totals]The total row onlyJournal[#Totalen]
Journal[[#Headers],[Amount]]The header cell of the Amount columnJournal[[#Koppen];[Amount]]
Journal[#Data]All data rows, every columnJournal[#Gegevens]
Journal[#All]Headers, data and total rowJournal[#Alles]
=SUM(Journal[Amount])
=SUM(Journal[Amount])

Adds the Amount column of the table; a new row is included without editing the formula.

=SUMIFS(Journal[Amount], Journal[Account], 4500)
=SUMIFS(Journal[Amount]; Journal[Account]; 4500)

The same account test as with typed ranges, now tied to the table columns.

=Journal[[#Totals],[Amount]]
=Journal[[#Totals],[Amount]]

One cell of the total row: the column total that Excel keeps for you.

When to use which

Use a table when the data is a list that gets longer: a journal, an invoice list, a sample. Use a name for a single value or a fixed area that several formulas share: a tax rate, a materiality, a year-end date. The two combine well: a table for the data and names for the inputs that test it.

The worked examples below use typed addresses so that this site can compute and check them. In your own workbook, replace the address by the name or the structured reference shown in the walkthrough.

SituationUseWhy
Journal or invoice list that growsTableFormulas extend with new rows
VAT rate or materiality used in many formulasName on a labelled input cellOne place to change, visible in the grid
Fixed lookup list (VAT codes)Table, or a name on the rangeThe name reads better in a lookup
Fact that never changes (12 months)The number itselfA name adds nothing here
Same calculation in many placesNamed formula, with careHard to inspect; document it

The audit angle

Names make a client's formulas readable, but they hide where a value lives: =B2*VatRate does not show which cell or constant VatRate is. Open Name Manager first on any client workbook. Then check:

  • the Refers to column for each name
  • names with errors (sort or filter on them)
  • names that refer to #REF! or to another workbook

A deleted sheet leaves exactly such names behind.

Also check these:

  • what a name contains: a constant typed into Name Manager is an input without a cell, and a named formula can hide a calculation
  • hidden names: a macro can hide names from Name Manager, so when a workbook behaves oddly, look at the formulas themselves too (Ctrl+` shows them all)
  • tables: whether a total row, a filter or a hidden column changes what a structured reference sees

Worked examples

Example1 of 3Beginner

Recalculate the VAT on sales invoices with one rate cell

Veldhuis Installatie BV books sales invoices with 21% VAT. You recalculate the VAT on six invoices and compare the total with what the bookkeeper booked. The rate sits in one labelled cell, E2, which you name VatRate in your own file.

Sheet excerpt: G2 holds the formula
RowABCDEFGH
1Invoice no.Net amountVAT bookedVAT rateBooked minus recalculated
225-4201€12,500.00€ 12.500,00€2,625.00€ 2.625,0021%21%-€0.80€ -0,80=SUM(C2:C7)-ROUND(SUM(B2:B7)*E2, 2)=SUM(C2:C7)-ROUND(SUM(B2:B7)*E2; 2)
325-4202€8,400.00€ 8.400,00€1,764.00€ 1.764,00
425-4203€3,250.00€ 3.250,00€682.50€ 682,50
525-4204€15,800.00€ 15.800,00€3,318.00€ 3.318,00
625-4205€6,120.00€ 6.120,00€1,285.20€ 1.285,20
725-4206€9,980.00€ 9.980,00€2,095.00€ 2.095,00
8
Formula cell (G2)Input

Formula in G2

=SUM(C2:C7)-ROUND(SUM(B2:B7)*E2, 2)
=SUM(C2:C7)-ROUND(SUM(B2:B7)*E2; 2)

Result: -€0.80€ -0,80

Step by step
  1. The six net amounts in B2:B7 add up to 12,50012.500 + 8,4008.400 + 3,2503.250 + 15,80015.800 + 6,1206.120 + 9,9809.980 = 56,05056.050.
  2. E2 holds 21%. Multiplied: 56,05056.050 x 0.21 = 11,770.5011.770,50. ROUND to two decimals leaves 11,770.5011.770,50.
  3. The booked VAT in C2:C7 adds up to 2,6252.625 + 1,7641.764 + 682.50 + 3,3183.318 + 1,285.201.285,20 + 2,0952.095 = 11,769.7011.769,70.
  4. Booked minus recalculated: 11,769.7011.769,70 - 11,770.5011.770,50 = -0.80. The booked VAT is 80 cents too low.
  5. The 80 cents come from invoice 25-4206: 9,9809.980 x 0.21 = 2,095.802.095,80, but 2,095.002.095,00 was booked. Work this out per invoice to find the line.
  6. With the name in place the formula reads =SUM(C2:C7)-ROUND(SUM(B2:B7)*VatRate,2). Change E2 to 9% and every formula that uses VatRate follows.

Watch out: If the rate were typed inside the formula as 0.21, a change to 9% would need an edit in every formula, and a missed one would stay at 21% without any sign.

More on this example: why it works, 1 variation

Why it works

The rate lives in one cell, so the whole check changes when you change that cell, and a reviewer sees the value in the grid. The name does not change the calculation; it only replaces E2 by a word that says what E2 is.

Variations

=SUM(C2:C7)-ROUND(SUM(B2:B7)*VatRate, 2)
=SUM(C2:C7)-ROUND(SUM(B2:B7)*VatRate; 2)

The same check with the name; this form is shown, not computed, because it needs the name VatRate to be defined.

Example2 of 3Intermediate

Total the rent postings and see why a table keeps it complete

You test housing costs of Veldhuis Installatie BV. The journal lines are in A1:D9, and the last line, 25-2008, was added after the first formula was typed. You total account 4500 and check whether the range still reaches every line.

Sheet excerpt: G2 holds the formula
RowABCDEFGH
1Entry no.AccountDescriptionAmountAccountTotal
225-200145004500Rent office January€4,200.00€ 4.200,0045004500€17,412.35€ 17.412,35=SUMIFS(D2:D9, B2:B9, F2)=SUMIFS(D2:D9; B2:B9; F2)
325-200240004000Payroll January€18,350.00€ 18.350,00
425-200345004500Rent office February€4,200.00€ 4.200,00
525-200445104510Service charges€685.40€ 685,40
625-200545004500Rent office March€4,200.00€ 4.200,00
725-200640004000Payroll February€18,350.00€ 18.350,00
825-200745004500Cleaning office€612.35€ 612,35
925-200845004500Rent office April€4,200.00€ 4.200,00
10
Formula cell (G2)Input

Formula in G2

=SUMIFS(D2:D9, B2:B9, F2)
=SUMIFS(D2:D9; B2:B9; F2)

Result: €17,412.35€ 17.412,35

Step by step
  1. SUMIFS adds the cells of D2:D9 for which the matching cell in B2:B9 equals F2, which holds 4500.
  2. Account 4500 is in rows 2, 4, 6, 8 and 9. Account 4000 (rows 3 and 7) and 4510 (row 5) do not qualify.
  3. The amounts of those rows: 4,2004.200 + 4,2004.200 + 4,2004.200 + 612.35 + 4,2004.200.
  4. 4,2004.200 x 4 = 16,80016.800; 16,80016.800 + 612.35 = 17,412.3517.412,35.
  5. Row 9 (25-2008) is the line added last. The ranges end at row 9, so it counts. Had the formula been typed over rows 2 to 8, the result would have been 13,212.3513.212,35, which is 4,2004.200 too low.
  6. In a table named Journal the formula reads =SUMIFS(Journal[Amount],Journal[Account],F2). A line typed in row 10 extends the table and the formula, with no edit.

Watch out: A range that stops at the last row you saw is silent when the client adds a line: the total is wrong and no error appears. Compare the row count with the source when you receive a refreshed file.

More on this example: why it works, 2 variations

Why it works

A typed range such as D2:D9 is fixed: Excel adjusts it for inserted rows inside it, but not for rows added below it. A table column is a reference to whatever data rows the table has at that moment, so the formula follows the table.

Variations

=SUMIFS(Journal[Amount], Journal[Account], F2)
=SUMIFS(Journal[Amount]; Journal[Account]; F2)

The table form of the same formula; it needs the data to be a table named Journal.

=SUM(Journal[Amount])
=SUM(Journal[Amount])

Total of the whole Amount column of the table.

Example3 of 3Advanced

Cover the receivables above the confirmation threshold

In the receivables list of Veldhuis Installatie BV you select every debtor with a balance above a confirmation threshold of 10,00010.000 for a balance confirmation. You want to know what share of the total balance those debtors cover.

The threshold sits in E2 and is named ConfirmLimit in your file.

Sheet excerpt: G2 holds the formula
RowABCDEFGH
1DebtorBalanceConfirmation thresholdCoverage
2D1001€48,250.00€ 48.250,00€10,000.00€ 10.000,0085.9%85,9%=ROUND(SUMIFS(B2:B9, B2:B9, ">"&E2)/SUM(B2:B9), 3)=ROUND(SUMIFS(B2:B9; B2:B9; ">"&E2)/SUM(B2:B9); 3)
3D1002€12,900.00€ 12.900,00
4D1003€2,310.50€ 2.310,50
5D1004€31,475.25€ 31.475,25
6D1005€760.00€ 760,00
7D1006€18,040.00€ 18.040,00
8D1007€5,220.75€ 5.220,75
9D1008€9,855.00€ 9.855,00
10
Formula cell (G2)Input

Formula in G2

=ROUND(SUMIFS(B2:B9, B2:B9, ">"&E2)/SUM(B2:B9), 3)
=ROUND(SUMIFS(B2:B9; B2:B9; ">"&E2)/SUM(B2:B9); 3)

Result: 85.9%85,9%

Step by step
  1. The criterion is built first: ">"&E2 joins the text > and the number 10,00010.000 into ">10000".
  2. SUMIFS adds the balances in B2:B9 that are greater than 10,00010.000: D1001 48,25048.250, D1002 12,90012.900, D1004 31,475.2531.475,25 and D1006 18,04018.040. The other four are 10,00010.000 or less.
  3. 48,25048.250 + 12,90012.900 + 31,475.2531.475,25 + 18,04018.040 = 110,665.25110.665,25.
  4. SUM of all eight balances: 110,665.25110.665,25 + 2,310.502.310,50 + 760 + 5,220.755.220,75 + 9,8559.855 = 128,811.50128.811,50.
  5. The share is 110,665.25110.665,25 / 128,811.50128.811,50 = 0.85912...; ROUND to three decimals gives 0.859, shown as 85.9%.
  6. Debtor D1008 (9,8559.855) sits below the threshold, close to it, and is not selected. With the name, the formula reads ">"&ConfirmLimit: change the threshold once and the coverage updates.

Watch out: Writing ">E2" in quotes compares with the text E2, not with the cell, and finds nothing. The operator goes in quotes, the reference outside, joined with &.

More on this example: why it works, 2 variations

Why it works

The threshold is an input of the audit approach, so it belongs in one visible cell with a name that states its meaning. The criterion text is assembled from that cell, so the selection and the coverage figure always use the same threshold.

Variations

=ROUND(SUMIFS(B2:B9, B2:B9, ">"&ConfirmLimit)/SUM(B2:B9), 3)
=ROUND(SUMIFS(B2:B9; B2:B9; ">"&ConfirmLimit)/SUM(B2:B9); 3)

The same coverage with the named threshold; shown, not computed here.

=COUNTIFS(B2:B9, ">"&E2)
=COUNTIFS(B2:B9; ">"&E2)

How many debtors to confirm: 4.

Common mistakes

Common mistakes
SymptomCauseFix
Excel refuses the name you want for the rate cellExcel refuses the name VAT21 for your VAT rate cell.VAT21 is a valid cell address (column VAT, row 21), and a name may not look like one. Use VatRate21 or Vat_21. The same applies to names such as Q3 or R1.
The total misses a line added below the rangeThe total =SUM(D2:D9) misses the line a colleague added in row 10.A typed range does not extend for rows added below it. Make the data a table and use =SUM(Journal[Amount]), which follows the table.
#NAME? after a name is deleted, #REF! after a sheet is deletedA formula shows #NAME? after a name was deleted, or #REF! after the sheet it pointed to was deleted.Open Name Manager (Ctrl+F3). A name whose Refers to ends in #REF! has lost its target; point it to the right range again. For a deleted name, define it again with the same word.
[@Amount] gives an error outside the table=[@Amount]*2 typed in a cell outside the table gives an error, or #VALUE! on a row the table does not occupy.Outside the table the table name is required: =Journal[@Amount]*2, and the formula's row must lie within the table's rows. To use the whole column, write Journal[Amount].
A name points to a different cell each time you use itA name you made while another cell was selected points to a different cell each time you use it.The Refers to box holds a relative address such as =Sheet1!A1, which is read from the cell where you use the name. Type absolute addresses: =Sheet1!$A$1.
Everything recalculates, but no cell holds a new rateEverything recalculates to a different VAT amount, but no cell on the sheet contains a new rate.The rate is a constant typed in Name Manager (=0.21). Look at the Refers to column. For audit evidence, keep rates in a labelled cell and name that cell.

Back to the glossary