First Day of Month Formula

“first day of month formula” comes up constantly, so this page leads with the exact answer, gives you a tool to try it on your own numbers, and only then explains the detail. Everything works in Excel on Windows and Mac and maps almost one-to-one to Google Sheets. Copy the answer above and get back to work, or read on to turn a one-off fix into something you never have to look up again.

Exact answer

In Excel: use =EOMONTH(start_date, months) — it returns the last day of a month n months away, handling leap years and 30/31-day months for you.

On this page8

Syntax

=EOMONTH(start_date, months)

Arguments

Argumentrequired / optionalDescription
start_daterequiredThe reference date.
monthsrequiredMonths to shift before taking the month end. 0 is the current month, -1 the previous.

Related functions

EDATEDATEWORKDAY
ƒxAdd or Subtract DatesLive

Negative values subtract. Month steps clamp the day, so 31 Jan + 1 month is 28 Feb.

Resulting date
2026-02-28

Weekday: Saturday

End of that month
2026-02-28
=EDATE(A2,B2) · =EOMONTH(A2,0)
Ctrl+CthenCtrl+Shift+V+Cthen+Ctrl+VPaste values · WindowsMac

What this does

EOMONTH returns the last day of the month a given number of months from a date. Passing 0 gives the end of the current month, -1 the end of the previous, 1 the end of the next. It is the correct way to build month-end reporting periods, payment terms and accrual dates, because it knows February has 28 days except when it has 29 — logic that hand-rolled date arithmetic gets wrong every four years. Pairing it with a +1 gives the first day of a month, which is the other half of a period boundary. Most people learn this as a sequence of clicks and forget it by next week; learning it as a pattern instead is what lets you apply it to the next, slightly different version of the problem without starting from scratch. That is the difference this page is trying to make. Treat “first day of month formula” as a small repeatable workflow rather than a one-off click you hope to remember next time. Use a small test block before the live file, so any surprise in the affected formula shows up while it is still harmless. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. That turns a layout choice that keeps the sheet readable and sortable into a method you can reuse, explain, and defend when the workbook leaves your screen.

A worked example

The end of the current month for a reporting cut-off: =EOMONTH(TODAY(), 0). The first day of the current month: =EOMONTH(TODAY(), -1)+1. Net-30 terms landing on a month end: =EOMONTH(A2, 1). Building twelve month-end dates down a column: =EOMONTH($A$2, ROW()-1). EOMONTH gets month ends right on the leap year that hand-rolled date arithmetic quietly gets wrong. If there is any chance you will reuse this, drop it into a small template tab right now: a labelled input area on the left and the formula beside it, checked once against the tool above. Next time the same question comes up, the answer is a single paste away instead of a rebuild from memory.

In Google Sheets

Google Sheets handles this almost identically to Excel. The formula syntax above is the same, and the menu lives under a slightly different label rather than a ribbon tab. Use the platform toggle at the top of the page to switch every keyboard shortcut between Windows and Mac, and expect at most cosmetic differences in naming. Nothing on this page is behind a login: the tool runs entirely in your browser, the formula is shown in full with one-click copy, and the steps work the same on Windows and Mac. That is the whole promise here — the exact answer, a way to prove it on your own numbers, and just enough context to make it stick. If you take one thing from this page on “first day of month formula”, make it the habit rather than the keystrokes: set the problem up with labelled inputs, reference those cells, and let Excel do the recomputing. Bookmark the page for the syntax, but do the example once in a blank sheet and check it against the tool above — five minutes of hands-on practice fixes the method in memory far better than re-reading, and it surfaces the small snags while they are still harmless. After that the technique is genuinely yours: faster than searching for it again, and reliable enough to drop into work that other people depend on.

Common mistakes

  • Hand-rolling month ends with DATE and a day count, which breaks on February and on 30-day months.
  • Forgetting the second argument, which is required and has no default.
  • Leaving the result unformatted, so it shows a serial number.

Frequently asked questions

How do I get the last day of the current month?

=EOMONTH(TODAY(), 0). For the first day, =EOMONTH(TODAY(), -1)+1.

What is the difference between EOMONTH and EDATE?

EDATE keeps the same day number n months away; EOMONTH always returns the last day of that month.

Does EOMONTH handle leap years?

Yes — that is much of the point. February returns the 28th or 29th correctly without any special case.

Other ways people ask this

On the way here you may have searched this as “excel formula first day of month”, “excel formula for first day of month”, “excel formula for first day of the month” and “first day of the month excel formula” — it is all the same task, and this page is the single, complete answer to it.

Why do people search for this in so many different ways?

Because the same task has many names. “excel formula first day of month”, “excel formula for first day of month”, “excel formula for first day of the month” all point at the one operation explained on this page, which is why they all lead here.