Referencing an Unchanging Data Range for a Chart

Written by Allen Wyatt (last updated February 7, 2026)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024, and Excel in Microsoft 365


2

Dave has a chart that pulls its data from a data range that starts with column B. Every month he needs to add new data before column B, so he inserts a new column and adds the data. This means that Dave then has to go into the chart and adjust the data range. He wonders if there is a way to make sure that the chart always refers to his data range (B1:F32) so he doesn't need to edit the data range each month.

At first guess, you might think that an answer to Dave's question is to define a name, such as MyData, to refer to $B$1:$F$32. However, this won't work. You can successfully set up your named range, and you can use the named range as the source for your chart data, using this notation:

=Sheet1!MyData

Excel accepts this, but immediately changes the chart data range to this:

=Sheet1!$B$1:$F$32

In other words, Excel tosses out the named range and replaces it, instead, with the actual data range to which the named range refers. When you later select column B and insert a column, Excel changes both the chart's data range and the named range to this:

=Sheet1!$C$1:$G$32

So, using a named data range won't work for Dave's purposes.

You might also think you can try an "insertion process," where you insert the new column between the current columns B and C. Then, copy the values from column B to the new, blank column C. Finally, replace the values in column B with the new values.

This doesn't really solve Dave's problem, though, because when you insert the new column C, Excel automatically changes the chart's data range to something like this:

 =Sheet1!$B$1:$B$32,Sheet1!$D$1:$G$32

In other words, it splits the chart's data range, which definitely won't give Dave what he needs.

Some people suggested using the INDIRECT function to specify the chart's data range. This approach is often used to specify non-changing ranges, so it is natural to think it might be useful for Dave's purpose. The chart data range, under this approach, could be entered like this:

=INDIRECT("B1:F32")

The problem is that Excel won't allow the INDIRECT function to be used to specify a chart's data range; you'll get an error.

There is a way you can still use the INDIRECT function, however. Let's assume that Dave's data ends at column F and that all columns to the right are empty. In cell H1 enter the same formula just mentioned:

=INDIRECT("B1:F32")

Now you have, in the range H1:L32 a "mirror" of what is in cells B1:F32. It is this mirror range that should be entered into the chart as its data range:

=Sheet1!$H$1:$L$32

When you add a new column B, it will obviously push everything to the right. In other words, your mirror range will now be at I1:M32 and the chart's data range is automatically updated to reference I1:M32. However, the data contained in I1:M32 now mirrors what is in B1:F32, just as Dave wants. It will always reference B1:F32 because of the use of the INDIRECT function to create the mirror.

The INDIRECT function works because it uses a string as a parameter. That string contains the desired range, but because it is a string, Excel doesn't update it when inserting rows or columns. That means it never changes and always references the data that Dave wants.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (8152) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024, and Excel in Microsoft 365.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Backing Up Label Layouts

Once you create a custom label layout it is a good idea to backup the layout on a different hard drive in the event of a ...

Discover More

Jumping to the End without Repaginating

When you open a document and try to jump to the end of it, Word may go through the sometimes long process of ...

Discover More

Progression Indicator in a Macro

When your macro is humming along, minding its own business, a user watching the screen may not see any activity and ...

Discover More

Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!

More ExcelTips (ribbon)

Using Go To to Jump to a Chart Sheet

Create a chart on its own worksheet, and you can display it by simply clicking the tab at the bottom of the Excel work ...

Discover More

Positive and Negative Colors in a Chart

When creating a line cart, the line can show values both positive and negative values. This tip explains how you can use ...

Discover More

Reading Values from Graphs

Adding a trendline to a graph will allow you to see trends a bit easier, depending on your data. You can even utilize an ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 8 - 7?

2026-02-07 22:46:40

Tomek

@J. Woolley:
clever improvement on this tip, it de-clutters the main sheet, but also the cut and paste automatically updates the graph data range. I was trying to find a better place for the mirror data on the same sheet, but it almost always was affected with the column insertion. Your suggestion is better.


2026-02-07 11:12:41

J. Woolley

The Tip's solution is very clever. If the INDIRECT formula in cell H1 includes the source sheet like this
=INDIRECT("Sheet1!B1:F32")
and the chart's data range is
=Sheet1!$H$1:$L$32
then you might cut the range H1:L32 from Sheet1 and paste it into another sheet which you could then hide; the chart will automatically adjust its data range and the solution becomes transparent to the user.
I believe the Tip's solution requires Excel 2021's dynamic array support; otherwise, the INDIRECT formula must be entered as a CSE array:
1. Select H1:L32
2. Type the formula
3. Press Ctrl+Shift+Enter


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.