How to calculate average age by year/month/date in Excel?
For example, you have a student roster with birthdays and ages in Excel, how could you calculate the average age by a given month or year? And what if calculating the average by a specific date in Excel? This article will introduce several tricks to solve them 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
For example you have a table as following screen shot shown. You can calculate the average age by year or month with array formulas quickly in Excel.
Average age by Month: Select a blank cell besides the table, for example Cell F2, enter the formula =SUM((MONTH(B2:B15)=12)*C2:C15)/SUM(IF(MONTH(B2:B15)=12,1)) into it, and press the Ctrl + Shift + Enter keys at the same time.
Note: In this formula, the B2:B15 is the Birthday column, C2:C15 is the Age column, 12 is the specified month "December" which you will average by, and you can change them based on your needs.
Average age by Year: Select a blank cell besides the table, says Cell F4, enter the formula =SUM((YEAR(B2:B15)=1990)*C2:C15)/SUM(IF(YEAR(B2:B15)=1990,1)) into it, and press the Ctrl + Shift + Enter keys at the same time.
Note: In this formula, the B2:B15 is the Birthday column, C2:C15 is the Age column, 1990 is the specific year you want to average by, and you can change them based on your needs.
|Formula is too complicated to remember? Save the formula as an Auto Text entry for reusing with only one click in future!
Read more… Free trial
In our example table as following screen shot shown, we can also filter the birthday column firstly, and then calculate average by year or month after filtering with Subtotal function in Excel.
Step 1: Select the Birthday Column and click the Data > Filter.
Step 2: Click button besides column header of Birthday column, and then in the drop down list click the Date Filters > All Dates in the Period > September (or any other month you want to average by). See screen shot below:
Note: If you want to average age by specific year, you need to click the button besides column header of Birthday column, and then uncheck all years except the year you will average by, and click the OK button. See screen shot below:
Step 3: Now the ages are filtered by the specific year or month. Select any blank cell, says Cell C42, the formula =SUBTOTAL(1,C3:C9) (C3:C9 means all filtered out ages in the Age column), and press the Enter key.
Sometimes, you may be required to calculate the average with given date. For example, you have a table as following screen shown, and you need to calculate the average of Amount occurred on 2014-04-04, you can solve it as following:
Select a blank cell, enter the formula =AVERAGEIF(J2:J24,P2,M2:M24) into it, and press the Enter key. Then you will get the average of the specified date.
Note: In formula =AVERAGEIF(J2:J24,P2,M2:M24), the J2:J24 is the date column, P2 is the reference cell with date you will average by, M2:M24 is the amount column where you will calculate average, and you can change them based on your needs.
If you need to calculate average age of each month (from January to December) or each year in Excel, apply the complicate array formula may be a litter time-consuming. Here I will introduce the third-part add-in of Kutools for Excel to solve it.
Kutools for Excel - Combines more than 300 Advanced Functions and Tools for Microsoft Excel
1. Select the date column that you will calculate average by, and click the Kutools > Format > Apply Date Formatting.
2. In the opening Apply Date Formatting dialog box, select a date formatting showing only month name in the Date formatting box, such as "Mar" or "March", and click the Ok button. See screenshot:
Tip: If you need to calculate average ages by year, please select a date formatting only showing year (such as "2001") in the Date formatting box.
Apply Date Formatting is one of Kutools for Excel utilities, and it can help you change mass dates to specific date formatting meeting different customers and different countries in Excel.
3. Keep selecting the date column, and click the Kutools > To Actual. This utility will convert the date to the text of month name.
To Actual is one of Kutools for Excel utilities, and it can help you replace the actual value (showing in formula bar, such as a formula =A1 + B1) with the displaying value (which you see in the selected cell, such as formula result 10). Click for 60-day free trial, no limitation!
4. Select the range that you will average by month/year, and click the Kutools > Content > Advanced Combine Rows.
Advanced Combine Rows is one of Kutools for Excel utilities, and it can help you combine / merge the rows based on the same value in one column, and then do some calculations for other columns, such as sum, count, average, max, etc.. Click for 60-day free trial, no limitation!
5. In the opening Combine Rows Based on Column dialog box, specify the settings as above screenshot shown:
- Click the Name column, and then click the Combine > Comma;
- Click the Birthday column, and then click the Primary Key.
- Click the Age column, and then click the Calculate > Average.
6. Click the Ok button. Then you will see the average age of each month is calculated with listing corresponding names. See below screenshot: