How to Keep an Excel Range Fixed When Rows or Cells Are Added
Question details
The user needs to lock an Excel range reference so that the formula does not shift or change when new rows, columns, or cells are inserted into the worksheet.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Working with direct worksheet references that accidentally shift or alter when structural changes, like inserting new rows, are made to the spreadsheet.
- Observed behavior
- Direct cell references update automatically when rows or columns are inserted. The goal is to force the formula to continuously reference the exact same spatial range regardless of spreadsheet modifications.
Before proceeding, identify which specific ranges in your spreadsheet need to remain absolute and check if any of your formulas rely on closed external workbooks, as this affects which method you should choose.
Use the INDIRECT Function to Lock References
The INDIRECT function evaluates a text string as a cell reference, making it immune to row or column insertions.
By wrapping your range inside quotation marks within the INDIRECT function, Excel treats it as a static text string rather than a dynamic cell reference. This completely prevents the range from shifting when you add rows or columns.
Click on the cell where you want your formula calculation to appear.
Type your formula using the INDIRECT function. For example, to sum a fixed range, enter =SUM(INDIRECT("J10:J58"), INDIRECT("G10:G58")).
Press Enter to execute the formula. You can now insert rows inside or above the J10:J58 area without the formula reference shifting.

Apply Named Ranges for Large Data Models
Named ranges provide a stable and non-volatile way to reference specific areas in your worksheet without the performance issues of INDIRECT.
Convert Data to Excel Tables
Using Excel Tables with structured references allows formulas to automatically adapt to newly added rows while logically anchoring the reference to the designated column.
Fix and Manage Cell References Easily in WPS Spreadsheet
WPS Office provides robust built-in tools like the INDIRECT function, advanced Name Manager, and native Table support to help you lock cell ranges seamlessly. Enjoy full calculation compatibility with Microsoft Excel formulas completely for free.
- 1. Open your file: Launch WPS Spreadsheet and open your existing .xlsx workbook.
- 2. Apply INDIRECT formula: Click your target cell and type =SUM(INDIRECT("J10:J58")) to lock the specific spatial range.
- 3. Use the Name Manager: Alternatively, navigate to the Formulas tab and click 'Name Manager' to create non-volatile fixed ranges for complex datasets.

Frequently Asked Questions
Why does my INDIRECT formula return a #REF! error?
This usually happens if the text string inside the INDIRECT function does not form a valid cell reference, contains a typo, or if it points to an external workbook that is currently closed.
How is an absolute reference ($A$1) different from using INDIRECT?
Absolute references ($A$1) prevent the formula from changing when copied and pasted to other cells. However, they will still automatically shift if a row or column is inserted directly above or before them. The INDIRECT function prevents shifting completely even when structural changes are made to the sheet.
Does using INDIRECT slow down my Excel file?
Yes, INDIRECT is known as a volatile function. It recalculates every time any change is made anywhere in the workbook, which can decrease performance and cause lag in files with thousands of complex formulas.




