EOMONTH Function (Gnumeric)
Learn the EOMONTH function in Gnumeric: Returns the serial number of the last day of the month that comes a certain number of months before or after the.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Gnumeric. How formula examples are checked
Quick answer
EOMONTH returns the last calendar day of a chosen month, shifting from an input date by a specified number of months. Unlike EDATE, it does not try to retain the starting day. For instance, one month after January 15, 2024, the resulting month’s last day is February 29, 2024. In the same month (months = 0), it produces the last day of the input month. Gnumeric returns a date serial; apply Date formatting to see a readable date. [Sources: S1, S2]
Exact syntax and parameters
=EOMONTH(date,months)
date — Required. A valid date serial, or a reference to a cell containing a date. Construct clear examples using DATE(year,month,day). Older Gnumeric documentation calls this start_date.
months — Required. Signed number of months: 0 means the date’s own month, 1 means the following month, -1 means the previous month. Supply whole numbers.
Both arguments are present in the Gnumeric historical source help (help_eomonth); no missing-argument default is documented there. Its current project function table labels implementation Complete and testing Basic, which are project-level metadata rather than execution of this tutorial. The stable-release reference is Gnumeric 1.12.62, current on 2026-10-11; the function’s first supported release is not established here. [Sources: S1, S2, S3, S4]
Locale note: Examples use commas, consistent with the English-language Gnumeric function notation cited. In another locale, the function dialog may insert a different separator; date appearance can also change. For portable input examples, prefer numeric DATE(...) components to strings such as "02/03/2024", which may mean different dates in different locales.
Build a reproducible worksheet
Enter the starting dates as DATE formulas so there is no ambiguous date-string interpretation. Enter month offsets as integers. Enter the formulas in C and format C as a date.
On a narrow screen, scroll this table sideways to see every column.
| Row | A: start date formula | B: months | C: formula | Expected displayed date |
|---|---|---|---|---|
| 2 | =DATE(2024,1,31) |
1 |
=EOMONTH(A2,B2) |
2024-02-29 |
| 3 | =DATE(2025,1,31) |
1 |
=EOMONTH(A3,B3) |
2025-02-28 |
| 4 | =DATE(2024,3,15) |
-1 |
=EOMONTH(A4,B4) |
2024-02-29 |
| 5 | =DATE(2024,12,30) |
2 |
=EOMONTH(A5,B5) |
2025-02-28 |
| 6 | =DATE(2024,1,31) |
0 |
=EOMONTH(A6,B6) |
2024-01-31 |
| 7 | =DATE(2024,1,15) |
0 |
=EOMONTH(A7,B7) |
2024-01-31 |
Expected—not observed in Gnumeric: These results were calculated with independent Python calendar calculations. In row 4, the day 15 is ignored because EOMONTH selects the end of February; in 2024 that is the 29th. Row 5 crosses a year boundary before selecting the final day of February 2025. [Source: S2]
Direct Gnumeric documentation example
=EOMONTH(DATE(2001,12,14),2)
Expected displayed result: 2002-02-28. This is the same example structure included in Gnumeric’s archived source help and evaluated by independent calendar calculation. If the cell shows a whole number, use a date display format. [Source: S2]
Advanced applications
Define a reporting window with unambiguous inclusive dates
If A2 contains any day in February 2024, this formula produces the first day of that month:
=EOMONTH(A2,-1)+1
Expected: 2024-02-01 (for an A2 date within February 2024). One day after the previous month’s final date is the first day of the current month.
For the first day of the next month, use:
=EOMONTH(A2,0)+1
Expected: 2024-03-01 (for an A2 date within February 2024). A last-day boundary and the following first-day boundary are useful for monthly report filters. If source records include times, filtering for timestamp < first_day_of_next_month is usually safer than comparing against the last day at midnight. The final predicate/syntax depends on how the filtering system stores timestamps; Gnumeric’s EOMONTH by itself does not perform an SQL or database filter.
Make a calendar of successive month ends
Put the desired anchor in $A$2, and 0, 1, 2, 3 in B2:B5. Place =EOMONTH($A$2,B2) in C2 and fill down. This computes month-end dates relative to a fixed anchor regardless of how long each month lasts, including leap years.
Choose a business policy intentionally
For an invoice issued on January 15, 2024, EOMONTH(DATE(2024,1,15),1) has an independently calculated result of 2024-02-29. By contrast, EDATE(DATE(2024,1,15),1) would preserve the day and is expected to produce 2024-02-15. Use EOMONTH for statement periods and EDATE for date anniversaries, subject to your actual contract terms. See the EDATE guide for anchored versus chained month offsets.
Common errors and limits
- Serial number instead of a calendar date: date serials are numeric underneath. Apply a date number format; avoid converting them to text just to change display.
- Unexpected date on the 28th/29th/30th/31st: EOMONTH always chooses the last day of the destination month, regardless of the input day. This differs from EDATE.
- Offset sign mistakes:
-1selects the previous month;1selects the next.0selects the current month. - Invalid inputs: Gnumeric’s 2009 source documentation described a
#NUM!outcome when the starting date or month offset was invalid. We have not verified current 1.12.62 error types for blank, text, negative serial, fractional or out-of-range inputs, and do not claim all such errors display identically. Test each problematic case in the installed application. - Noninteger months: no modern Gnumeric execution is available for coercion or truncation rules here. Use integer offsets and perform an explicit validation of user input if required.
- Locale or imported-date surprises: entering ambiguous text dates may move you into the wrong month. Use DATE with numeric components, check the workbook’s serial date convention, and format the result as a date.
- Historical-date boundary: serial-date systems and app versions may interpret dates near the base year differently; this guide does not certify those edge cases.
Compatibility and scope
Gnumeric’s archived source help describes EOMONTH as Excel-compatible. LibreOffice Calc also documents EOMONTH (its help examples may use semicolon separators), but no cross-application workbook was run here. Do not infer identical conversion of invalid dates, date-system serials, fractional month offsets, localization or output display across versions. [Sources: S2, S5]
Related Gnumeric guides
Official documentation and research audit
- S1 (current function status): Gnumeric function catalogue, accessed 2026-10-11, lists
eomonthunder Date/Time as Complete / Basic. - S2 (Gnumeric syntax and historical semantics): GNOME Gnumeric source-docs commit of 2009-07-28, accessed 2026-10-11;
plugins/fn-date/functions.chelp_eomonth. History is evidence for stated older syntax, not a current native test. - S3 (stable release): Gnumeric home page, accessed 2026-10-11, lists 1.12.62.
- S4 (release-source provenance): Gnumeric 1.12.62 GNOME source archive, recorded in the previously verified official catalogue. The release was not compiled or executed here.
- S5 (limited cross-program documentation): LibreOffice EOMONTH help, accessed 2026-10-11; same month-end concept, no cross-app execution.
How this guide was checked
The syntax and behaviour are based on the Gnumeric references cited above. The sample calculations were independently checked; they are expected results, not outputs observed in Gnumeric. Test locale-sensitive text conversion and imported files in your own installation. View the example-check record.