Summary

To get the first day of the month for any given date, you can use a formula based on the EOMONTH function. In the example shown, the formula in cell D5 is:

=EOMONTH(B5,-1)+1

Since the date in cell B5 is 12-Jan-2025, the result is 1-Jan-2025. As the formula is copied down, it returns the first of the month for each date in column B.

Generic formula

=EOMONTH(date,-1)+1

Explanation 

In this example, the goal is to get the first day of the month based on any valid date. This problem can be solved by combining the EOMONTH function with simple addition.

The EOMONTH Function

The EOMONTH function returns the last day of the month, a given number of months in the past or future. For example, with a start date of January 15, 2025, EOMONTH will return the following results with months set to -1, 0, and 1:

=EOMONTH("15-Jan-2025",-1) // returns 31-Dec-2024
=EOMONTH("15-Jan-2025",0)  // returns 31-Jan-2025
=EOMONTH("15-Jan-2025",1)  // returns 28-Feb-2025

Note that the start date remains the same, but the month varies. Negative months cause EOMONTH to move back in time, and positive months move forward, but the result is always the end of the month.

How the formula works

The formula =EOMONTH(B5,-1)+1 works in two steps. First, it moves back to the last day of the previous month, relative to the given date. Next, it adds one day to end up on the first day of the current month. Working from the inside out with a start date of January 12, 2025:

=EOMONTH("12-Jan-2025",-1)+1  // move back 1 month
="31-Dec-2024"+1  // add 1 day
="1-Jan-2025"  // final result

The result is always the first day of the month for any given date. As the formula is copied down, the process is repeated for each date in column B.

First day of current month

To get the first day of the current month, you can use the same approach but replace the date reference with the TODAY function:

=EOMONTH(TODAY(),-1)+1

This formula will automatically update each day to show the first day of whatever month it currently is. For example, if today is June 21, 2025, the formula will return June 1, 2025. If you open the same worksheet in July, the result will be July 1, 2025. The formula works exactly the same way as the main example:

=EOMONTH(TODAY(),-1)+1
=EOMONTH("21-Jun-2025",-1)+1  // get current date
="31-May-2025"+1  // move back 1 month
="1-Jun-2025"  // add 1 day

This approach is useful in reports and dashboards that need to display current-month information. Since TODAY recalculates whenever the worksheet recalculates, this formula will always return the first day of the current month.

Variations

You can easily change how this formula works by changing the number of months used inside the EOMONTH function. The pattern EOMONTH(date, n-1)+1 will give you the first day of the month that is n months away from your reference date:

=EOMONTH(B5,0)+1 // first day of next month
=EOMONTH(B5,-1)+1 // first day of current month
=EOMONTH(B5,-2)+1 // first day of previous month
=EOMONTH(B5,-7)+1 // first day of month 6 months ago
=EOMONTH(B5,5)+1 // first day of month 6 months forward

To move forward or backward n months without changing the date, see the EDATE function.

Alternative formula

You can also get the first day of a month using the DAY function in a formula like this:

=B5-DAY(B5)+1

This formula was the standard way to get the first day of the month before the EOMONTH function was introduced to Excel. This formula works in three steps:

  1. Get the day number from the date with DAY(B5).
  2. Subtract the day from the date (rewind to day 0 = last day of the previous month).
  3. Add 1 day to end up on the first day of the current month.

For example, with a start date of January 12, 2025:

=B5-DAY(B5)+1
="12-Jan-2025"-12+1
="31-Dec-2024"+1
="1-Jan-2025"

Both formulas work reliably, but the EOMONTH formula is slightly easier to understand and configure.

Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.