Table of Contents
Calculating the average of data points grouped by specific time periods, such as the month, is one of the most fundamental requirements in data analysis, particularly when working with financial or operational records in Excel. Understanding monthly trends provides essential insights into seasonality, performance benchmarks, and resource allocation.
While a Pivot Table offers a highly efficient method for achieving this grouping, this tutorial focuses on a robust formula-based approach utilizing functions like MONTH, UNIQUE, and AVERAGEIF. This method offers greater flexibility for integration into complex spreadsheets where dynamic calculations are necessary.
Often, analysts need to calculate the average value of a metric, such as daily sales, grouped meticulously by the month in which the transactions occurred. This temporal aggregation allows for quick comparison between different periods, identifying peaks, troughs, and stability over time. For instance, consider a scenario where we track daily sales figures over several months.
Suppose we have the following dataset, which includes a date column and a corresponding sales value column, and our goal is to derive the average daily sales, distinctly grouped by the month of sale:

The following comprehensive, step-by-step guide demonstrates how to execute this aggregation efficiently using core Excel functions, ensuring data integrity and precision.
Step 1: Preparing Your Dataset for Analysis
Before initiating any calculations, the data must be correctly entered and formatted. Ensuring that the date column is recognized by Excel as an actual date format (not merely text) is crucial, as this facilitates proper extraction of temporal components later on. The data should be organized clearly in contiguous columns.
We begin by entering the raw date and value pairs into the Excel worksheet. For clarity and adherence to the example, we will assume the dates are in Column A and the corresponding Sales values are in Column B.
It is important to review the data input at this stage. Check for missing values or non-numeric entries in the sales column, as these errors could skew the final average calculation. A clean, standardized dataset is the foundation for accurate analysis.

Step 2: Isolating the Month Value using the MONTH Function
The core challenge in calculating monthly averages from daily data lies in separating the date into its constituent parts. We need a numerical representation of the month (1 for January, 2 for February, etc.) that can serve as the grouping criterion.
The MONTH function is specifically designed for this purpose. It takes a date serial number as its argument and returns an integer between 1 (January) and 12 (December). This numerical output is essential for the subsequent averaging formula.
To implement this, we introduce a new column, typically labeled “Month Number” (Column D in this example). We then apply the function, referencing the adjacent date cell. In our specific context, we will enter the following formula in cell D2, assuming the first date is in A2:
=MONTH(A2)
Once the formula is entered, it must be applied to every row in the dataset. By dragging the fill handle down from D2 to the last row of data, Excel automatically adjusts the cell references (e.g., A3, A4, A5) and populates Column D with the corresponding month number for every transaction date. This newly created column acts as the “range” argument for our conditional averaging function.

Step 3: Identifying Unique Time Periods
To structure the final results table, we first need a distinct list of all months present in our data. If the dataset spans January, February, and March, we need the criteria list to contain 1, 2, and 3 only once.
In modern versions of Excel (Excel 365 or newer), the UNIQUE function simplifies this process significantly. The UNIQUE function scans a specified range and returns an array of unique values, dynamically spilling the results into adjacent cells. This eliminates the need for manual filtering or older methods like “Remove Duplicates.”
We will allocate a new column (Column F) for our criteria list. In cell F2, we enter the UNIQUE function, referencing the range where we just extracted the month numbers (Column D). Assuming our data runs from row 2 to row 10, the formula is:
=UNIQUE(D2:D10)
Upon execution, the unique month numbers (e.g., 1, 2, 3) will automatically populate cells F2, F3, and F4, serving as the definitive list of criteria against which we will calculate the averages. This step is critical because it ensures that the final summary table only includes entries for the months actually present in the recorded sales data.

Step 4: Calculating the Average by Month
The final and most crucial step involves calculating the average of the sales values (Column B) only for rows where the corresponding month number (Column D) matches the unique month criterion (Column F). For this conditional calculation, the AVERAGEIF function is the ideal tool.
The AVERAGEIF function is designed to calculate the average of a range of cells that meet a specified criterion. Its structure is straightforward: AVERAGEIF(range, criterion, average_range).
In our setup:
- The range is the column containing the grouping variable (Month Numbers in Column D:
$D$2:$D$10). - The criterion is the specific month we are currently calculating (the unique month number in Column F, starting with
F2). - The average_range is the column containing the values we wish to average (Sales values in Column B:
$B$2:$B$10).
We will place the results in Column G, starting with cell G2. The formula entered here is:
=AVERAGEIF($D$2:$D$10, F2, $B$2:$B$10)
Step 5: Understanding Absolute and Relative References
When implementing the AVERAGEIF formula in Step 4, notice the use of both absolute references (denoted by dollar signs, e.g., $D$2:$D$10) and relative references (e.g., F2). This difference is intentional and vital for correctly deploying the formula across multiple rows.
The ranges $D$2:$D$10 (Month Numbers) and $B$2:$B$10 (Sales Values) must remain fixed, or absolute, because they refer to the entire source dataset. Regardless of whether the formula is calculating the average for Month 1 (row 2) or Month 3 (row 4), the source data remains the same. If these were relative, dragging the formula down would shift the data range, leading to incorrect calculations.
In contrast, the criterion reference, F2, is relative. When this formula is dragged down to cell G3, the reference automatically updates to F3, thus correctly shifting the calculation criterion to the next unique month number in our list. This dynamic updating allows us to calculate all monthly averages quickly and accurately.
We execute the final calculation by dragging and filling this formula down from cell G2 to the remaining cells in column G that correspond to the unique month list generated in Column F. This action immediately yields the calculated average daily sales figure for each respective month.

Step 6: Interpreting the Final Results
The resulting summary table in Columns F and G provides a clear and concise view of the aggregated monthly performance. Column F shows the numerical month identifier, and Column G displays the calculated average sales for that period. This structure allows for immediate interpretation of trends.
To enhance readability, users often add a lookup column (perhaps using the VLOOKUP or XLOOKUP function against a list mapping 1 to January, 2 to February, etc.) to translate the numerical month back into its common name. However, even in numerical format, the results provide powerful analytical clarity.
Based on our completed calculation, we can draw the following statistically sound conclusions:
- The average daily sales value in January (Month 1) was 39.
- The average daily sales value in February (Month 2) was 25.
- The average daily sales value in March (Month 3) was 27.75.
This result clearly indicates that sales dipped in February but saw a slight recovery in March, providing actionable intelligence regarding seasonal impact or marketing effectiveness across the first quarter of the year. This formula-based approach provides high transparency and is easily audited, making it a powerful technique for routine reporting and analysis within Excel.
This methodology is highly scalable; whether you have 10 rows of data or 10,000, the process of extracting the month, identifying unique criteria, and applying the conditional average remains consistent and computationally efficient.
Cite this article
stats writer (2025). How to Calculate Monthly Averages in Excel: A Step-by-Step Guide. PSYCHOLOGICAL SCALES. Retrieved from https://scales.arabpsychology.com/stats/how-to-calculate-average-by-month-in-excel/
stats writer. "How to Calculate Monthly Averages in Excel: A Step-by-Step Guide." PSYCHOLOGICAL SCALES, 28 Nov. 2025, https://scales.arabpsychology.com/stats/how-to-calculate-average-by-month-in-excel/.
stats writer. "How to Calculate Monthly Averages in Excel: A Step-by-Step Guide." PSYCHOLOGICAL SCALES, 2025. https://scales.arabpsychology.com/stats/how-to-calculate-average-by-month-in-excel/.
stats writer (2025) 'How to Calculate Monthly Averages in Excel: A Step-by-Step Guide', PSYCHOLOGICAL SCALES. Available at: https://scales.arabpsychology.com/stats/how-to-calculate-average-by-month-in-excel/.
[1] stats writer, "How to Calculate Monthly Averages in Excel: A Step-by-Step Guide," PSYCHOLOGICAL SCALES, vol. X, no. Y, ص Z-Z, November, 2025.
stats writer. How to Calculate Monthly Averages in Excel: A Step-by-Step Guide. PSYCHOLOGICAL SCALES. 2025;vol(issue):pages.
