bottom
Great ExcelTips!
         
Your e-mail address is safe!
Close Note

Tips.Net > ExcelTips Home > Graphics > Automatically Updating Charts for Additional Data

Automatically Updating Charts for Additional Data

Summary: If you have a chart that is based on data in your worksheet, you might want the chart to update automatically as you add new information. This tip explains how you can accomplish this easily. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, and Excel 2003.)

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 comes a time period, such as 1/1 through 1/13, and you create a chart based on those dates. If you add new data to the end of the range (after 1/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 1/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, choose Name from the Insert menu, then choose Define. Excel displays the Define Name dialog box. (Click here to see a related figure.)
  4. In the Names in Workbook field, enter a name that will refer to the data in column A.
  5. 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.
  6.      =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1! $A:$A)-1)
    
  7. 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.
  8. In the Names in Workbook field, enter a name that will refer to the data in column B.
  9. 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.)
  10.      =OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B:$B)-1)
    
  11. Click Add. Excel creates the name and lists it in the dialog box.
  12. Click OK to close the Define Name dialog box.
  13. 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:
  14.      =SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$32, Sheet1!$B$2:$B$32,1)
    
  15. 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 6 and 9, the formula should look like this:
  16.      =SERIES(,Sheet1!Dates,Sheet1!Readings,1)
    

    Now the chart will update automatically regardless of where you add information in your data table. This works because the names you defined in steps 6 and 9 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://j-walk.com/ss/excel/usertips/tip053.htm
    http://www.ozgrid.com/Excel/DynamicRanges.htm
    

Tip #2933 applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003


Save Time! ExcelTips has been published weekly since late 1998. Past issues of ExcelTips are available in convenient ExcelTips archives. Have your own enhanced archive of ExcelTips at your fingertips, available to use at any time!
 
Check out ExcelTips Archives today!

Helpful Links

Ask an Excel Question
Make a Comment

Tips.Net Home

ExcelTips FAQ
ExcelTips Premium

Learn Access Now

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

 

Great Info!

Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your e-mail address and click "Subscribe."
     
(Your e-mail address will never be shared with anyone, ever.)