How to Use EOMONTH in Excel
Returns the last day of a month, any number of months before or after a given date — the backbone of monthly reporting.
What is EOMONTH in Microsoft Excel?
EOMONTH jumps to the final date of a month. Give it 0 and you get the end of the current month, 1 for next month, -1 for last month. Finance teams use it to build month-end cutoffs, due dates and period labels that always land on a real calendar day.
Formula Syntax
Arguments Breakdown
| Argument | Requirement | Purpose & Details |
|---|---|---|
| start_date | Required | The reference date. |
| months | Required | How many months to shift. 0 = current month end, 1 = next month end, -1 = previous month end. |
When to Use EOMONTH (Real-World Business Scenarios)
- 1
Setting a payment due date of 30 days from month end.
- 2
Building a month-end series that always lands on the 28th, 29th, 30th or 31st correctly.
- 3
Creating a period label with =TEXT(EOMONTH(A2,0),"mmm yyyy") for a pivot table.
Step-by-Step Practical Business Example
Suppose you have the following dataset in Excel cells A1:D4:
| Invoice Date | Month End | Due Date |
|---|---|---|
| 2026-01-15 | 2026-01-31 | 2026-03-02 |
| 2026-02-10 | 2026-02-28 | 2026-03-30 |
| 2026-03-05 | 2026-03-31 | 2026-04-30 |
How it works: Returns the last calendar day of the invoice month. February correctly returns the 28th in a non-leap year.
Common Errors & How to Fix Them
Why it happens: start_date is text that looks like a date but was never converted, common after a CSV import.
Fix: Convert it first with DATEVALUE or Text to Columns, then re-run EOMONTH.
Why it happens: The months argument counts calendar months, not days, so 1 from 31 January is 28 or 29 February.
Fix: This is correct behaviour — use EDATE with days if you need an exact day offset instead.
Try EOMONTH Live in Your Browser
No need to launch desktop Excel. Practice formulas with real-time feedback in our HyperFormula sandbox.
Frequently Asked Questions (EOMONTH)
What does the EOMONTH formula do in Excel?
EOMONTH jumps to the final date of a month. Give it 0 and you get the end of the current month, 1 for next month, -1 for last month. Finance teams use it to build month-end cutoffs, due dates and period labels that always land on a real calendar day.
What is the syntax for EOMONTH?
What are common mistakes when using EOMONTH?
#VALUE!: start_date is text that looks like a date but was never converted, common after a CSV import. (Convert it first with DATEVALUE or Text to Columns, then re-run EOMONTH.) Wrong month returned: The months argument counts calendar months, not days, so 1 from 31 January is 28 or 29 February. (This is correct behaviour — use EDATE with days if you need an exact day offset instead.)
Related Excel Formulas
Keep building your formula toolkit with these date & time functions.
- TODAYReturns the current date, refreshed every time the workbook recalculates — the anchor for ageing reports.
- DATEDIFReturns the difference between two dates in complete years, months or days — the standard way to calculate age and tenure.
- NETWORKDAYSCounts working days between two dates while excluding weekends and your own holiday list.
- EDATEAdds or subtracts whole months from a date while keeping the same day of the month — perfect for due dates and renewals.
- XLOOKUPThe modern, versatile replacement for VLOOKUP and HLOOKUP that searches in any direction without column index numbers.
- VLOOKUPThe industry-standard vertical lookup function that searches the first column of a table and returns a value in the same row.
Master EOMONTH in Intermediate Excel
Learn EOMONTH along with our formula library, practice files, and verifiable certificates in our complete curriculum.
