How to calculate average of dynamic range in Excel?
For example you want to average a range which is dynamically changing based on the value in a certain cell or criteria in Excel, is there any formulas to solve it? Of course yes! Here I will introduce formulas to calculate the average of dynamic range in Excel easily.
Recommended Productivity Tools for Excel
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 71% of your time and solve 82% Excel problems for you. 300+ advanced tools designed for 1500+ work scenario, make Excel much easy and increase productivity immediately.60-day Unlimited Free Trial
Select a blank cell, for example Cell C3, enter the formula =IF(C2=0,"NA",AVERAGE(A2:INDEX(A:A,C2))) into it, and then press the Enter key.
(1) In the formula of =IF(C2=0,"NA",AVERAGE(A2:INDEX(A:A,C2))), A2 is the first cell of the dynamic range in Column A, C2 is the cell with number which equals to row number of last cell of the dynamic range. And you can change them based on your needs.
(2) You can also apply the formula =AVERAGE(INDIRECT("A2:A" &C2)) to calculate the average of dynamic range based on Cell C2.
Sometimes, the range is dynamic based on the criteria users input. In this case, you can calculate the average of dynamic range as below steps.
1. Batch define names for each row and each column in the specified range.
In our case, select the Range A1:D11, click the Create names from selection button in the Name manager pane; check both Top row option and Left column option in the Create Names from Selection dialog box, and click the OK button. See screenshot below:
Note: The Name manager pane is one component of Navigation Pane, which is provided by Kutools for Excel and includes: (1) list all opening workbooks and sheet tabs; (2) list and insert AutoText entries; (3) list all name ranges; (4) List all column names of active sheet; (5) Advanced find and replace. Read More Have a no-limitation Trial
2. Select the blank cell you will place the dynamic average at, enter the formula =AVERAGE(INDIRECT(G2)) (G2 is the dynamic criteria users input, and it will be one of row headers or column headers of the specified range.) into it, and press the Enter key.
And now the average will dynamically change based on the criteria users input in the Cell G2. See screenshot above.