ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Errors & fixes
  3. "You Can't Change Part of an Array": How to Fix It

"You Can't Change Part of an Array": How to Fix It

By ExcelReady Team·Updated November 2, 2026·6 min read

The short answer

Excel shows "You can't change part of an array" when you try to edit, delete or move one cell of an older multi-cell array formula, the kind shown in {curly braces}. Press Esc, select the whole array (Windows: Ctrl+/), then edit or delete it all at once. In Microsoft 365, replace it with a normal spilling formula.

Key takeaways

  • A multi-cell array formula is one formula spread over several cells, so Excel won't let you change only some of them.
  • Press Esc to get out of the message, then select the whole array with Ctrl+/ or Go To Special > Current array.
  • Edit the whole array and confirm with Ctrl+Shift+Enter, or delete it all with the Delete key.
  • In Microsoft 365 or Excel 2021, re-enter the formula in one cell and let it spill. Spilled results never show this message.
On this page+
  1. Why Excel says "You can't change part of an array"
  2. What triggers the message
  3. Step 1: Get out of the message with Esc
  4. Step 2: Select the whole array
  5. Step 3: Edit, delete or convert the whole array
  6. The modern fix: let the formula spill
  7. Old array formulas you might find
  8. Practise it

Excel says you cannot change part of an array when you try to edit, clear or move one cell of a multi-cell array formula. The fix is to select the whole array first, then edit or delete it in one go. This guide explains why the message appears, how to get out of it, and how to replace old array formulas with modern ones so it doesn't come back. It's for anyone who has opened an older workbook and found a block of cells they can't touch.

Why Excel says "You can't change part of an array"#

The message means the cell belongs to a block of cells that share one formula. Excel treats that block as a single object, so it won't let you change only some of its cells.

These blocks are array formulas: formulas that work on a whole range at once. Before 2020, you created one by selecting several cells, typing a formula and pressing Ctrl+Shift+Enter. Excel then wrapped the formula in curly braces in the formula bar, like this:

Excel formula
{=B2:B6*C2:C6}

That one formula fills D2:D6 with Qty × Price for five rows. Each cell shows a different result, but they are all one formula. You'll mostly meet these in files built in Excel 2019 or earlier. The comparison of Excel 365 vs Excel 2021 vs 2019 explains which versions use the older style.

What triggers the message#

Any action that would change some cells of the array but not all of them triggers it. The most common ones are:

What you didWhy Excel blocks it
Edited one cell and pressed EnterThe formula belongs to the whole block
Pressed Delete on one cellClearing part of the block would break it
Inserted or deleted a row or column through the blockThe block would be split in two
Pasted or dragged data over part of the blockPart of the formula would be overwritten
Sorted a range that includes part of the blockSorting would move only some cells

A similar message, "Cannot change part of a data table", appears for What-If Analysis data tables. The cause and the fix are the same: work with the whole table, not one cell.

Step 1: Get out of the message with Esc#

If you're stuck in edit mode and Excel keeps showing the message, press Esc. This cancels the edit and puts the old formula back. Clicking OK on the message and then pressing Esc works too. Nothing is lost.

Step 2: Select the whole array#

Before you can change anything, select every cell of the array:

  1. Click any cell in the array.
  2. On Windows, press Ctrl+/. Excel selects the whole block.
  3. Or, on Windows and Mac, go to Home > Find & Select > Go To Special, choose Current array and click OK. (On a Mac, you can also open Go To with Control+G and click Special.)

You can now see exactly which cells belong to the array. Often it's bigger than you expected.

Step 3: Edit, delete or convert the whole array#

With the whole array selected, you have three choices.

Edit it. Press F2 (Mac: Control+U), change the formula, then press Ctrl+Shift+Enter (Mac: ⌘+Shift+Return). This keeps it as an array formula across the same cells. Pressing only Enter in an older version breaks it.

Delete it. Press Delete. All the cells clear at once, and you can now insert rows, sort or type freely.

Turn it into values. If you only need the results, copy the selection (Ctrl+C; Mac: ⌘C), then use Paste Special > Values in the same place. The formula is gone, the numbers stay, and each cell can be edited on its own. The guide to pasting values in Excel walks through this.

If you were trying to insert a row, delete or convert the array first, insert the row, and then re-enter the formula across the new size.

The modern fix: let the formula spill#

In Microsoft 365 and Excel 2021, you don't need multi-cell array formulas any more. Excel now has dynamic arrays: you type the formula in one cell, press Enter, and the results spill into the cells below.

To upgrade an old array:

  1. Select the whole array with Ctrl+/ and press Delete.
  2. Click the top cell, here D2.
  3. Type =B2:B6*C2:C6 and press Enter.

The five results spill into D2:D6, just like before. Only D2 holds the formula. The other cells show results in grey in the formula bar, and if you type in one of them, D2 shows a #SPILL! error instead of the old message. Clear the cell and the results come back. The lesson on modern Excel functions shows how spilling works with UNIQUE, SORT and FILTER.

Often you can skip the helper column entirely. If D2:D6 only existed to be added up, one cell does the whole job:

Excel formula
=SUM(B2:B6*C2:C6)

With Qty 10, 4, 6, 2 and 5 and Price 1.50, 3.25, 2.00, 7.50 and 1.20, the result is 61. In older versions, this needed Ctrl+Shift+Enter too. In Microsoft 365, plain Enter works. SUMPRODUCT gives the same answer in every version: =SUMPRODUCT(B2:B6,C2:C6).

Old array formulas you might find#

Older workbooks used array formulas for many everyday jobs. When you meet one, the modern version is usually a single spilling formula:

Old array formulaWhat it doesModern formula (one cell, Enter)
{=UPPER(A2:A6)} across 5 cellsChanges names to capitals=UPPER(A2:A6)
{=TEXT(B2:B6,"dd/mm/yyyy")}Shows dates as text in one format=TEXT(B2:B6,"dd/mm/yyyy")
{=(C2:C6-B2:B6)/B2:B6}Percent change for each row=(C2:C6-B2:B6)/B2:B6
{=TRANSPOSE(A1:E1)}Turns a row into a column=TRANSPOSE(A1:E1)

For the ideas behind these, see changing text case in Excel, changing the date format and the percent change formula. If the percent column compares two different things rather than old and new, read percent change vs percent difference first.

One more rule: Excel tables don't allow multi-cell array formulas at all. If you convert a range with one into a table, Excel refuses. Spilled formulas can sit next to a table but not inside it either.

Practise it#

Spotting an old array formula and replacing it with one spilling formula is a quick, practical skill that modern Excel tests reward. Try the exercise on this page, then practise modern Excel functions in a live spreadsheet: you type each formula and it checks it instantly.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Old files often hold a multi-cell array in D2:D6 that multiplies Qty by Price. Replace the whole idea with one formula: in F2, use SUM to multiply B2:B6 by C2:C6 and add the results.

fx
ABCDEFG
1
Item
Qty
Price
2
Pens
10
1.5
Order total
3
Notebooks
4
3.25
4
Folders
6
2
5
Staplers
2
7.5
6
Tape
5
1.2
7
8
9

Tip: Multiply the two ranges inside SUM: B2:B6*C2:C6. In Microsoft 365 you just press Enter.

Practise this in a lesson

LessonModern Excel: XMATCH, SORTBY, TEXTSPLIT and spill references (A2#)Split names with TEXTSPLIT, find positions with XMATCH, sort by another column with SORTBY, and refer to a whole spilled result with A2#.

Frequently asked questions

What does you cannot change part of an array mean?

+

It means the cell you're editing belongs to a multi-cell array formula, which Excel treats as one formula. You can only edit, move or delete the whole block, not one cell inside it.

How do I delete an array formula in Excel?

+

Click any cell in the array, press Ctrl+/ on Windows (or use Go To Special > Current array) to select all of it, then press Delete.

How do I know if a cell has an array formula?

+

Click the cell and look at the formula bar. An older array formula is wrapped in curly braces, like {=B2:B6*C2:C6}. You can't type those braces yourself; Excel adds them when you press Ctrl+Shift+Enter.

Why can't I insert a row in my Excel sheet?

+

If the new row would cut through a multi-cell array formula, Excel blocks it with the same message. Delete or convert the array first, insert the row, then re-enter the formula.

Do dynamic array formulas cause this error?

+

No. A formula that spills in Microsoft 365 or Excel 2021 can't be edited from the spilled cells either, but typing in them gives a #SPILL! error in the formula cell instead of this message.

Sources

  • Dynamic array formulas and spilled array behavior - Microsoft Support
  • How to correct a #SPILL! error - Microsoft Support

Written and checked by the ExcelReady Team. First published November 2, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. Why Excel says "You can't change part of an array"
  2. What triggers the message
  3. Step 1: Get out of the message with Esc
  4. Step 2: Select the whole array
  5. Step 3: Edit, delete or convert the whole array
  6. The modern fix: let the formula spill
  7. Old array formulas you might find
  8. Practise it

Keep reading

Text· 5 min read

Change Case in Excel: UPPER, LOWER and PROPER

Excel has no Change Case button, so you use a formula in a helper column: =UPPER(A2) for capitals, =LOWER(A2) for small letters, and =PROPER(A2) to capitalise each word. Then copy the results and paste them back as values to replace the original text. Flash Fill is a quick alternative for simple lists.

Dates· 5 min read

How to Change the Date Format in Excel

To change the date format in Excel, select the cells, press Ctrl+1 (Mac: ⌘1), choose Date or Custom, and pick or type a format such as dd/mm/yyyy. The value stays the same; only the display changes. If a date won't change, it's stored as text and must be converted first. For a formatted date as text, use =TEXT(A2,"yyyy-mm-dd").

Math· 6 min read

Percent Change Formula in Excel (With Examples)

The percent change formula in Excel is =(new-old)/old. If last year's sales are in B2 and this year's in C2, type =(C2-B2)/B2, then press Ctrl+Shift+% to show it as a percentage. A positive result is an increase and a negative result is a decrease. Always divide by the old value.

More on errors & fixes

  • Circular Reference Warning in Excel: Find and Fix It
  • Conditional Formatting Not Working in Excel? Fix It
  • Excel Copy and Paste Not Working? Causes and Fixes
  • COUNTIF Not Working? Common Causes and Fixes
  • Excel Date Showing as a Number? How to Fix It
  • Excel Swapping Day and Month? How to Fix Dates
All errors & fixes articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free