EDATE in ONLYOFFICE: Shift Dates by Whole Calendar Months
Move a date forward or backward by a number of months for subscription renewals, contract anniversaries, and billing dates.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in ONLYOFFICE Spreadsheet Editor. How formula examples are checked
What this function does—and what it does not
EDATE preserves a day-of-month where possible while shifting the month. The official article says it returns a date serial, so format the output as a date; it does not claim an invariant month length. The handling of 29–31 at shorter month-ends is predicted using ordinary spreadsheet-style civil-calendar arithmetic, not native-verified in ONLYOFFICE.
Date-sensitive renewals can behave differently from simply adding 30 days. A month is not a fixed number of days. On 31 January, the expected renewal a month later falls at February’s month-end; do not silently assume that adjustment without native testing for your exact build.
Exact official syntax and arguments
=EDATE(start_date, months)
| Argument | Required? | Meaning/type | Omission/default |
|---|---|---|---|
start_date |
Required | Date value or date-producing expression, such as DATE(2026,3,15) |
No documented default |
months |
Required | Numeric month offset: positive forwards, negative backwards; zero denotes current month in independent model | No documented default |
The ONLYOFFICE function page is an unversioned English web reference. Required/optional designations above reflect the brackets in its displayed syntax; no undocumented default, error code or argument coercion is inferred. Official EDATE source, accessed 2026-10-11.
Hands-on worksheet with independently computed results
Open a blank worksheet and select any empty cell for the formula. Use the copy-ready examples below, entering a holiday into F2 where shown. Never enter the date text directly if the editor does not recognize its locale; use DATE(…) to construct it.
| Scenario | Start | Offset/end | Holiday in F2 | Copy-ready formula | Expected result (independent) |
|---|---|---|---|---|---|
| month-end leap | 2024-01-31 | 1 | None | =EDATE(DATE(2024,1,31),1) |
2024-02-29 |
| month-end normal | 2025-01-31 | 1 | None | =EDATE(DATE(2025,1,31),1) |
2025-02-28 |
| previous month | 2026-03-15 | -1 | None | =EDATE(DATE(2026,3,15),-1) |
2026-02-15 |
| cross calendar year | 2026-12-31 | 2 | None | =EDATE(DATE(2026,12,31),2) |
2027-02-28 |
| leap anniversary | 2024-02-29 | 12 | None | =EDATE(DATE(2024,2,29),12) |
2025-02-28 |
| same month | 2026-05-10 | 0 | None | =EDATE(DATE(2026,5,10),0) |
2026-05-10 |
| previous leap year | 2024-06-30 | -4 | None | =EDATE(DATE(2024,6,30),-4) |
2024-02-29 |
| half-year shift | 2025-08-31 | 6 | None | =EDATE(DATE(2025,8,31),6) |
2026-02-28 |
Copy any expression in Copy-ready formula to a result cell. If that row has a holiday, first enter the shown value into F2 using =DATE(year,month,day). When testing a new row, change F2 accordingly. Dates shown in the outcome column require date formatting for EDATE, EOMONTH and WORKDAY; NETWORKDAYS returns an integer. The listed results are independent Python predictions, not a record of ONLYOFFICE execution.
The accompanying CSV is a fixture of input dates and independently predicted output, not a file executed in ONLYOFFICE. The dates were calculated using Python’s datetime.date, calendar.monthrange and ordinary Monday–Friday looping; that separate mathematical implementation may differ in undocumented edge cases from ONLYOFFICE’s actual engine.
First formula to paste
=EDATE(DATE(2024,1,31),1)
Independent expected result: 2024-02-29. Paste this formula into an empty cell (no other input cells are needed for this first example), then format it as a date when applicable. This is a runnable test to perform in a native ONLYOFFICE editor; the outcome has not been observed there.
Four useful advanced patterns
1. Fixed renewal month
=EDATE(DATE(2026,7,15),12)
Independent expected result: 2027-07-15. Useful for a yearly agreement; unlike adding 365, leap-year variations do not change the intended calendar month.
2. Prior reporting cycle
=EDATE(DATE(2026,10,15),-3)
Independent expected result: 2026-07-15. Quarterly backshift with consistent day 15.
3. Dynamic renewal from a cell
=EDATE(A2,B2)
Independent expected result: depends on A2/B2. Put the start date in A2 and integer month interval in B2; the same formula works for different rows.
4. Safe month-first alternative
=DATE(YEAR(A2),MONTH(A2)+B2,1)
Independent expected result: first day of shifted month. This ignores the original day and is the correct alternative when a month-start is the business rule. Must test DATE rollover for the current build.
Common problems and troubleshooting
| Issue | Evidence-based diagnostic |
|---|---|
| Large integer displayed | EDATE returns a serial; apply an unambiguous date format, such as yyyy-mm-dd. |
| Date falls at February month-end | Month lengths vary. Test Jan 31 and leap/non-leap years; month-end adjustment is not described on the concise ONLYOFFICE page. |
| Off by one month | Check sign and cell values; +1 means a later calendar month, -1 means earlier. |
| Imported date reads as text | Use DATE(year,month,day) test inputs, and inspect cell type and region. |
If your workbook displays #VALUE!, #NUM!, or another result, do not ascribe a specific ONLYOFFICE exception rule to it without a reproducible native experiment: the concise function page does not establish detailed input coercion and errors. Preserve the exact input cell types and locale. A visually formatted date is not by itself proof that the stored value is a valid date.
Related date functions and practical alternatives
EOMONTH finds the last calendar day of an offset month.
- EOMONTH — confirmed vendor reference; not a claim that a corresponding Spreadsheet-Tutorials.com tutorial is live.
- DATE — confirmed vendor reference; not a claim that a corresponding Spreadsheet-Tutorials.com tutorial is live.
- YEAR — confirmed vendor reference; not a claim that a corresponding Spreadsheet-Tutorials.com tutorial is live.
Cross-application compatibility: Microsoft Excel’s EDATE documentation gives the same English signature. Excel documents the same two-argument signature and says noninteger offsets are truncated. ONLYOFFICE’s article does not explicitly establish identical noninteger behaviour; test decimals rather than importing Excel rules. Function availability and error semantics in Google Sheets, LibreOffice Calc and older workbook formats have not been experimentally checked here; don’t assert universal equivalence from the name alone.
Formula entry, locale, versions and validation boundaries
These samples use the English formula names with commas and begin with =. ONLYOFFICE’s function entry guide explains its function picker and Formula tab, while the Advanced Settings guide documents Formula Language, Region, customizable numeric separators and the 1904 date system option. A machine configured for another language or regional syntax should use the editor’s function picker to confirm the correct localized formula; the short function references do not establish every locale’s argument separator. Use DATE(year,month,day) instead of ambiguous date strings and apply an explicit ISO-like date display to results.
Edition evidence (checked 2026-10-11): The official unversioned English ONLYOFFICE help page documents the named function but does not state its first-supported Desktop/Web/mobile build. ONLYOFFICE Docs 10.0 was announced 2026-10-10; the independent Desktop Editors changelog currently lists 9.4.0 released 2026-05-19. These release references establish two distinct version streams, not native function test coverage. Availability and behaviour in a specific build, mobile editor, workbook imported from Excel or old-format .xls file remain unverified. The 1904 option changes numeric date serials; avoid comparing raw serial integers across workbooks without first checking workbook settings.
How to verify a discrepancy in your edition
- Write down the application (ONLYOFFICE Docs/web or Desktop), exact version/build, OS/browser, workbook date system and formula language.
- Enter the numeric DATE fixtures shown here into a new workbook, not text parsed from a CSV locale.
- Format date results as
yyyy-mm-ddwhere available, while retaining a numeric-format copy if serial debugging is necessary. - Compare the displayed outcome against the independently expected column; an expected result is not a screenshot, observation or claim that the software actually produced it.
- If any outcome differs, preserve both the formula and actual output and flag the guide for correction; do not publish the expected prediction as tested truth.
Official reference and verification
- ONLYOFFICE Spreadsheet Editor — function documentation
- EOMONTH
- DATE
- YEAR
- function entry guide
- Advanced Settings guide
- ONLYOFFICE Docs 10.0
Verification status: Official documentation checked; example outcomes were independently reasoned or arithmetically checked where applicable. Not executed in ONLYOFFICE Spreadsheet Editor.
- No genuine ONLYOFFICE Spreadsheet Editor screenshots are included; this guide does not use mock application images.