This formula uses the named ranges "amounts" (D5:D104) and "dates" (C5:C104).
How this formula works
The AVERAGEIFS function can average ranges based on multiple criteria. In this case, we configure AVERAGEIFS to average amounts by month using two criteria: (1) match dates greater than or equal to the first day of the month, (2) match dates less than or equal to the last day of the month. If we hard-coded dates for January 2016 into the formula using the DATE function, it would look like this.
But we don't want to hard-code dates, we want Excel to generate these dates for us. Normally, this is a pain, because if you add month names as text (i.e. "January", "February", "March", etc.) in column F you have to go to extra trouble to create dates you can use for criteria.
However, in this case, we use a simple trick to make things easier: In column F, instead of typing month names, we add actual dates for the first of each month (1/1/2016, 2/1/2016, 3/1/2016, etc.), and use a custom date format ("mmm") to display the month names.
This makes it easy to build the criteria we need for AVERAGEIFS. To match dates greater than or equal to the first of the month, we use:
And to match dates less than or equal to the last day of the month, we use:
EOMONTH automatically returns the last day of the same month because we supply zero for the months argument.
Note: concatenation with an ampersand (&) is necessary when building criteria based on a cell reference.
Pivot Table solution
A pivot table is an excellent solution when you need to summarize data by year, month, quarter, and so on, because pivot tables provide controls for automatic grouping by date. For a side-by-side comparison of formulas vs. pivot tables, see this video: Why pivot tables.
If you need to sum if by year, you can use the SUMIFS function with two criteria. In the example shown, the formula in H6 is: = SUMIFS ( amount , date , ">=" & DATE ( G6 , 1 , 1 ), date , "<=" & DATE ( G6 , 12 , 31...
To sum by month, you can use a formula based on the SUMIFS function, with help from the EOMONTH function. In the example shown, the formula in F4 is: = SUMIFS ( amount , date , ">=" & E4 , date , "<=" & EOMONTH ( E4...
To average response times by month, you can use a formula based on the AVERAGEIFS function, together with the EOMONTH function. In the example shown, the formula in G5 is: = AVERAGEIFS ( durations , dates , ">=" & F5 , dates ,...
The Excel AVERAGEIFS function calculates the average of numbers in a range that meet one or more supplied criteria. The criteria in AVERAGEIFS supports logical operators (>,,=) and wildcards (*,?) for partial matching....
The Excel EOMONTH function returns the last day of the month, n months in the past or future. You can use EDATE to calculate expiration dates, due dates, and other dates that need to land on the last day of a month. Use a positive value for...
In this video, we'll look at how to use the AVERAGEIFS function to calculate an average from numbers that meet multiple criteria in a set of data.
Excel Formula Training
Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.