EDATE in WPS Spreadsheet: Shift Calendar Months with Explicit Boundary Limits
Shift WPS dates forward or backward by calendar months, preserve a schedule anchor, and distinguish month offsets from fixed day counts.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: EDATE(start_date, months) returns a date shifted by a specified number of calendar months. Positive offsets move forward and negative offsets move backward. The captured WPS lesson documents truncation of noninteger month offsets, but does not settle missing-day behavior in shorter target months.
Availability and version history
- Introduced: documented by 2019-05-20 in the official WPS lesson; original introduction is not established.
- Availability: WPS Office for Windows Personal; the lesson metadata gives no numeric release.
- Scope: exact current supported builds remain unverified; the historical Windows lesson does not establish all WPS clients.
- Checked: October 14, 2026 against complete function-specific documentation. Examples are independent expectations; no native WPS test was performed.
Syntax and documented arguments
=EDATE(start_date, months)
Both arguments are required. Use an actual date value or a DATE expression for the start. The output is a date serial and should be date-formatted for a readable result. English names and comma separators are shown.
The WPS definition says invalid start dates return #VALUE! and noninteger month offsets are truncated. It does not establish every text coercion, range overflow or native error display. Examples use modern dates whose day numbers exist in the target months, and their results are independently calculated.
Example 1: move in both directions
=EDATE(DATE(2026,1,15),2)
=EDATE(DATE(2026,1,15),-2)
=EDATE(DATE(2026,1,15),0)
Expected dates are 15 Mar 2026, 15 Nov 2025 and 15 Jan 2026. The day remains 15 because all target months contain that day. Zero offset keeps this date-only input unchanged.
A month is not a fixed number of days. The first shift spans 59 days in 2026. The corresponding shift from 15 Jan 2024 to 15 Mar 2024 spans 60 days because February has a leap day.
Example 2: check truncation separately from rounding
| Formula | Expected date |
|---|---|
=EDATE(DATE(2026,1,15),2.9) |
15 Mar 2026 |
=EDATE(DATE(2026,1,15),-2.9) |
15 Nov 2025 |
=EDATE(DATE(2026,1,15),0.9) |
15 Jan 2026 |
=EDATE(DATE(2026,1,15),-0.9) |
15 Jan 2026 |
These follow the source’s truncation rule, with the fractional part removed toward zero. They should not be described as nearest-integer rounding. If your schedule requires only whole-month inputs, validate that policy before calling EDATE instead of silently accepting a fractional offset.
Advanced example: keep a fixed original anchor
Put =DATE(2026,10,15) in A2 and offsets 0, 1, 2, 3 and 6 in C2:C6. Enter D2 and fill down:
=EDATE($A$2,C2)
Expected dates are 15 Oct 2026, 15 Nov 2026, 15 Dec 2026, 15 Jan 2027 and 15 Apr 2027. The absolute start reference keeps every result tied to the same anchor; the relative offset reference changes by row.
This example deliberately uses day 15. A schedule anchored on day 29, 30 or 31 can encounter a shorter month, and the captured source does not explicitly specify that case. Do not assume repeated one-month shifts and a direct multi-month shift must behave identically at such boundaries.
Advanced example: compare a calendar month with 30 days
With =DATE(2026,1,15) in F2:
=EDATE(F2,1)
=F2+30
Expected dates are 15 Feb 2026 and 14 Feb 2026. With 15 Feb 2026 as the start, the same two constructions yield 15 Mar 2026 and 17 Mar 2026. A calendar-month rule and a fixed-30-day rule are distinct policies.
Use EOMONTH when the requirement is the final day of a target month rather than the corresponding day number.
Boundary and source cautions
The official prose and walkthrough establish month shifting but do not certify January-31-to-February clamping, leap-day anniversary handling, time-fraction preservation or large-offset limits. Those remain explicit holds rather than inferred Excel behavior.
The repeated historical serial-origin note contains inconsistent day-count wording. No absolute serial base is certified here. DATE supplies explicit modern starting dates; display formats should be checked separately from stored values.
References and verification
- WPS Academy: EDATE, 2019-05-20 (Chinese; Windows Personal).
- WPS Academy: DATE.
- Editorial testing standards.
The complete function definition and walkthrough were reviewed. Worked outputs are independent calendar and time models; source ambiguities and native boundaries remain explicit.