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.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
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.
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: