EOMONTH
The last day of a month.
Find the last day of a month, forwards or backwards
A date: the month end you asked for
Syntax
=EOMONTH(date, months)
| Argument | Required | What goes here |
|---|---|---|
date | Required | A date inside the month you are starting from. |
months | Required | 0 for this month's end, 1 for next month's, -1 for last month's. |
How to use EOMONTH
EOMONTH takes a date and a number of months to move, then returns the last day of the month it lands in. Nought means the month the date is already in.
It handles the different month lengths and leap years without being told, which is the reason to use it rather than building the date by hand.
The reason it exists in an accounting workbook is payment terms. "End of month following invoice" is one of the commonest terms there is, and it is EOMONTH with a 1.
Negative numbers go backwards, which is how you reach the prior period end for a comparative.
Examples
Every result below is worked out by the same evaluator that marks your answers, on the sheet shown here.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Reporting date | 2026-10-31 | |||
| 2 | |||||
| 3 | Invoice | Invoice date | Terms (days) | Amount | Customer |
| 4 | INV-9001 | 2026-07-14 | 30 | 1200 | Calder Utilities |
| 5 | INV-9002 | 2026-08-29 | 30 | 640 | Brightwell Paper |
| 6 | INV-9003 | 2026-09-03 | 45 | 3100 | Meridian Freight |
| 7 | INV-9004 | 2026-09-30 | 14 | 455 | Thornbury Print |
| 8 | INV-9005 | 2026-10-12 | 30 | 2080 | Calder Utilities |
| 9 | INV-9006 | 2026-10-27 | 60 | 725 | Ashgrove Catering |
| Formula | Result |
|---|---|
=EOMONTH(B4,0)The end of the month the invoice is in. | 2026-07-31 |
=EOMONTH(B4,1)End of the month following. Written once, and correct for a January invoice and a February one alike. | 2026-08-31 |
=EOMONTH(B1,-1)Backwards a month, for the prior period end a comparative column reports against. | 2026-09-30 |
=DAYS(B1,EOMONTH(B6,1))Days past due, where the terms are end of month following. Nought means it falls due on the very day the schedule is drawn up. A positive number would be overdue and a negative one not yet due. | 0 |
Notes
- EOMONTH always lands on a month end. To keep the same day of the month, use EDATE.
- The months argument can be any whole number, so EOMONTH(date,12) is the same month end a year out.
Related
A reference tells you what it does. A unit makes you use it.