Creating automatically extended plot ranges

If you often need to adjust your data ranges so that your charts plot an updated data range, you may be interested in a trick that forces Excel to update the chart's data range whenever you add new data to your worksheet.

To force Excel to update your chart automatically when you add new data, follow these steps:

    1.    Create a worksheet.

    2.    Select Insert -> Name -> Define to bring up the Define Name dialog box. In the Names in Workbook field, enter Date. In the Refers To field, enter this formula:

=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1)

Date

    3.    Click Add. Notice that the OFFSET function refers to the first data point (cell A2) and uses the COUNTA function to get the number of data points in the column.

Because column A has a heading in row 1, the formula subtracts 1 from the number.

    4.    Type Sales in the Names in Workbook field, and in the Refers To field enter

=OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B:$B)-1)

Sales

    5.    Click Add and then click OK to close the dialog box.

    6.    Activate the chart and select the data series. In this example:

  • X Values: Sheet1!$A$2:$A$15
  • Y Values: Sheet1!$B$2:$B$15

    7.    Replace the range references with the names that you defined in Steps 2 and 4:

  • X Values: Sheet1!Date
  • Y Values: Sheet1!Sales
Chart

After you perform these steps, when you add data to columns A and B, the chart updates automatically to show the new data. To use this technique for your own data, make sure that the first argument for the OFFSET function refers to the first data point, and that the argument for COUNTA refers to the entire column of data. Also, if the columns used for the data contain any other entries, COUNTA will return an incorrect value.

The Chart with automatically extended plot ranges

Thank you for visiting OfficeToolTips

We are glad to help you in your work. However, you are using ad blocker and our efforts will not be rewarded.

Please consider disabling ad blocker before continuing the reading.