Excel Formula to Average a Range and Include New Rows Dynamically
Question details
The user needs an Excel formula to calculate an overall average or percentage from a range of values (e.g., B2:B8) that can automatically accommodate new rows without requiring manual updates.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Calculating an average from a growing dataset where manually adjusting the cell range each time new data is added becomes inefficient.
- Observed behavior
- The user wants a simple, automated formula solution instead of manually adding cell values and dividing them, effectively keeping the calculation simple as new data expands.
Ensure that your data column contains numerical values or percentages. Any non-numeric headers should be excluded from standard range calculations to prevent data type errors.
Convert the Data Range to an Excel Table
This is the most reliable method. Converting your data to an Excel Table creates a dynamic range that automatically expands and updates formulas when new rows are added.
Using structured references (Table references) is the best practice for dynamic datasets. When you add a new row to an Excel Table, the table expands automatically, and any formula referencing that table column updates without manual intervention.
Highlight your existing data range (for example, A1:B8, assuming row 1 is headers). Press Ctrl + T on your keyboard, check 'My table has headers', and click OK.
Click on the cell where you want the average to appear (e.g., C1). Type =AVERAGE( and then select the data cells in your new table column. The formula will look something like =AVERAGE(Table1[Percentages]).
Add a new value in the row directly underneath your table (e.g., cell B9). The table will automatically expand to include this new row, and your average formula will instantly recalculate.

Use an Entire Column Reference
A quick workaround if your column contains only the header and the data values, without any extra data below it.
Use the Standard AVERAGE Function
Best for fixed datasets where new rows are rarely added, or when you only need a specific block of data averaged.
Calculate Dynamic Averages Easily in WPS Office
You can effortlessly calculate dynamic averages and manage growing datasets using WPS Spreadsheet. It offers the exact same functions and table features as Microsoft Excel, but is completely free and highly lightweight.
- 1. Open Your Data: Launch WPS Spreadsheet and open your workbook containing the data.
- 2. Create a Dynamic Table: Select your data and press Ctrl+T to convert it into a structured table.
- 3. Apply the Formula: Type =AVERAGE( in your desired cell, select your table's data column, and press Enter to get an instantly updating average.

Frequently Asked Questions
Why does the =AVERAGE(B:B) formula return a circular reference error?
If you place the =AVERAGE(B:B) formula inside column B itself, Excel attempts to include the cell containing the formula in its calculation, creating an infinite loop. Always place whole-column formulas in a different column.
Does the AVERAGE function include blank cells in its calculation?
No, the AVERAGE function automatically ignores empty cells and cells containing text. However, if a cell contains a zero (0), it will be counted and will lower your overall average.
How can I average a range while ignoring zeros?
You can use the AVERAGEIF function to exclude zeros. The formula =AVERAGEIF(B2:B100, ">0") will only average the cells that contain a number strictly greater than zero.




