Automatically Updating Charts for Additional Data

by Allen Wyatt
(last updated June 20, 2020)

Excel shines at turning your data into charts—graphical representations of your data. You can easily create a chart based on a range of data in a worksheet. Normally, if you add additional data to your range, you will need to once again create the chart or at best change the range of cells on which the chart is based.

If you get tired of modifying charts to refer to new data ranges, there are a couple of shortcuts you can try out. The first shortcut works fine if you simply need to "fine tune" the range used in a chart. (This approach only works if the chart is on object on the same worksheet that contains the data on which the chart is based.) Follow these steps:

  1. Enter any new data to the table on which the chart is based.
  2. Select all the cells that you just entered.
  3. Click anywhere on the selection border around the cells. (Don't click on the fill handle.)
  4. Drag the selection toward the chart and drop it on the chart.

That's it—Excel incorporates the new data right into the existing chart, slick as a whistle.

Another approach is to add new data to the range not at the end, but somewhere within the range. For instance, you may have some data that represents a time period, such as 11/1 through 11/13, and you create a chart based on those dates. If you add new data to the end of the range (after 11/13), then Excel doesn't know you want those items added to the chart.

Instead, insert some blank rows somewhere within the data range; it doesn't matter where, as long as the record for 11/13 is below the added rows. You can then add the new data in the new rows, and the chart is automatically updated to include the data.

One drawback to this approach, of course, is that the inserted data will be out of order when compared to the overall structure of the data table. It is interesting to note that for some types of data—such as those based on dates—Excel will automatically sort the data by date as it presents it in the chart, but not in the data table itself. You can always use Excel's sort feature to reorder the data in the table, all without affecting what is presented in the chart.

Still another approach is to create a "dynamic range." This approach works well if the data range you are charting is the only data on the worksheet. Follow these steps:

  1. Create your data table as you normally would. (To keep things simple, we'll assume that you are creating a two-column data table, in columns A and B, that you then want to chart.)
  2. Create your chart, as desired.
  3. With the worksheet visible, click on Insert | Name | Define to display the Define Name dialog box. (See Figure 1.)
  4. Figure 1. The Define Name dialog box.

  5. In the Names in Workbook or Name field (depending on your version of Excel) enter a name that will refer to the data in column A.
  6. In the Refers To field, enter the following formula. You should change the sheet name and beginning cell (in this case $A$2), as necessary. If you change the beginning cell, you should also change the final part of the formula (-1) to be one less than the row number of the beginning cell. Thus, if you change the beginning cell to $A$5, you should change the final part of the formula to -4.
  7.      =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1! $A:$A)-1)
    
  8. Click Add. Excel creates the name and associates it with the formula you entered. The Define Name dialog box should still be visible, with the newly defined name listed.
  9. In the Names in Workbook or Name field (depending on your version of Excel) enter a name that will refer to the data in column B.
  10. In the Refers To field, enter the following formula. (You should make the same type of changes to the sheet name, beginning cell, and final part of the formula as described in step 5.)
  11.      =OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B:$B)-1)
    
  12. Click Add. Excel creates the name.
  13. Click OK to close the Define Name dialog box.
  14. Display the chart and select the data series. (There should only be one data series, since this is a simple two-column data table.) The formula bar will display a formula similar to the following:
  15.      =SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$32, Sheet1!$B$2:$B$32,1)
    
  16. Replace the ranges in the formula with the names you defined earlier in these steps. Assuming you defined the names Dates and Readings in steps 4 and 7, the formula should look like this:
     =SERIES(,Sheet1!Dates,Sheet1!Readings,1)

Now the chart updates automatically regardless of where you add information in your data table. This works because the names you defined in steps 6 and 10 refer to a formula that calculates the extent of data in columns A and B of your worksheet.

There are many other ways that you can create dynamic ranges, depending on the characteristics of the data you are using. For additional information, see these Web resources:

http://spreadsheetpage.com/index.php/tip/update_charts_automatically_when_you_enter_new_data/
http://www.ozgrid.com/Excel/DynamicRanges.htm

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2933) applies to Microsoft Excel 97, 2000, 2002, and 2003.

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

Automatic Scrolling

Spend a lot of time scrolling around in your document? You might find one of Word's hidden scrolling commands to be a ...

Discover More

Converting a Range of URLs to Hyperlinks

Converting a single URL into a hyperlink is easy. Converting hundreds or thousands can be much harder if you have to rely ...

Discover More

Checking for an Entry in a Cell

You may be looking for a way to have a formula determine if a particular cell has anything in it. Here's how you can find ...

Discover More

Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel 2013 Data Analysis and Business Modeling today!

More ExcelTips (menu)

Selecting Fonts for a Chart

When formatting a chart, you might want to change the characteristics of the font used in various chart elements. This ...

Discover More

Formatting the Border of a Legend

When you create a chart, Excel often includes a legend with the chart. You can format several attributes of the legend's ...

Discover More

Smoothing Out Data Series

One way you can make your charts look more understandable is by removing the "jaggies" that are inherent to line charts. ...

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}] 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 3 + 7?

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)


This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon 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.