COUPNCD in WPS Spreadsheet: Find the Next Coupon Date
Return the next regular coupon date, format its date serial correctly, and build a checkable payment reminder.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: COUPNCD returns a date serial representing the next coupon date after settlement. With settlement April 20, 2026, maturity November 15, 2027, semiannual coupons and basis 1, the independent regular-schedule expectation is May 15, 2026 when the result is formatted as a date.
Availability and evidence scope
The official WPS COUPNCD lesson documents this function for WPS Office for Windows Personal. The source was checked on October 19, 2026. It does not establish the first release, the last supported release, or an exact installed build. Availability in Mac, Linux, web, mobile and other editions remains unverified.
Examples below distinguish documented behavior from independently calculated controls. No results were captured from a new WPS execution for this guide. No native screenshot or cross-client compatibility test is claimed.
Syntax and arguments
=COUPNCD(settlement,maturity,frequency,[basis])
| Argument | Required? | Meaning |
|---|---|---|
settlement |
Yes | Date the buyer acquires the security; use a real spreadsheet date. |
maturity |
Yes | Security’s maturity date, later than settlement. |
frequency |
Yes | Coupon payments per year: 1 annual, 2 semiannual, 4 quarterly. |
basis |
No | Day-count convention; omitted means 0, US (NASD) 30/360. |
The documented basis values are 0 (US/NASD 30/360), 1 (actual/actual), 2 (actual/360), 3 (actual/365), and 4 (European 30/360). Set this explicitly when comparing workbooks. The common examples use basis 1 so the calendar-day arithmetic is transparent. A basis is a financial convention, not a date-display format.
Use DATE rather than ambiguous date text. The official lessons say arguments are truncated to integers; this guide deliberately uses whole-day dates and integer frequency/basis values. Fractional-input validation order and settlement exactly on a coupon date still need target-build testing.
Reproducible input sheet
Enter labels in A1:A4 and these values in B1:B4:
| Cell | Label | Enter |
|---|---|---|
| B1 | Settlement | =DATE(2026,4,20) |
| B2 | Maturity | =DATE(2027,11,15) |
| B3 | Payments per year | 2 |
| B4 | Basis | 1 |
For the independent model, assume a regular semiannual schedule anchored on maturity, with coupons every May 15 and November 15. Around settlement, the previous coupon is November 15, 2025 and the next is May 15, 2026. These deliberately non-month-end dates avoid assuming any special end-of-month roll convention.
Example: calculate and explain the result
=COUPNCD(B1,B2,B3,B4)
Format the formula cell as a date. The expected date is May 15, 2026. An unformatted number is a date serial, not a number of days until payment; the latter is a different quantity.
These expectations are calculated from the stated calendar model, not from native WPS execution. The model anchors regular coupons on maturity and steps backward by 12/frequency months. It counts actual date differences without adding an extra day for both endpoints.
The official lesson supplies another control: settlement January 25, 2011, maturity November 15, 2011, frequency 2 and basis 1 produce May 15, 2011. That is a vendor-published date result, not a new execution here.
For a final display-only label, TEXT can format the result as shown in the WPS lesson:
=TEXT(COUPNCD(B1,B2,B3,B4),"yyyy/m/dd")
Keep the unwrapped formula in a separate cell if later formulas need a numeric date.
Advanced example: set an internal review date
For a review ten calendar days before the next scheduled coupon, put the coupon result in B6, then enter this in B7:
=B6-10
Format B7 as a date. Under the explicit regular-schedule model, the expected review date is May 5, 2026. This is calendar-day subtraction, not a ten-business-day rule.
A separate elapsed-until-review check can use =B7-B1, expected 15. Keeping the numeric date result in B6 allows both calculations; wrapping B6 in TEXT prematurely would make the display a text label rather than the original date serial.
Now change frequency to 1. The next modeled coupon becomes November 15, 2026 and the corresponding review date is November 5. Frequency describes the instrument, so it should never be adjusted merely to obtain a more convenient reminder date.
Errors, limits and troubleshooting
| Symptom | Documented rule or practical check |
|---|---|
#VALUE! |
The lesson identifies invalid settlement or maturity dates. Replace date text with DATE formulas before investigating the bond calculation. |
#NUM! |
Check that frequency is 1, 2 or 4, basis is within 0–4, and settlement is earlier than maturity. |
| A plausible result differs from another workbook | Compare the actual stored dates, payment frequency and explicit basis, not just the displayed labels. |
| Formula is not recognized | Confirm the function in the target installation; the lesson does not guarantee every build or client. |
A regular coupon calculation does not reconstruct an irregular first or final coupon from issue-date information: there is no issue-date argument here. Nor does the function model business-day holidays, negotiated payment-date adjustments or a changing coupon schedule through the four arguments. Reconcile the assumed schedule with the security’s terms before using the result in a financial model.
Keep basis-1 calendar checks separate from 30/360 checks. Do not treat ordinary date subtraction as a universal substitute for a financial day-count convention. Month ends, leap days, settlement exactly on a coupon date and fractional arguments are useful additional native test cases, but no result for those untested boundaries is asserted here.
Choose the right coupon result
Use this function when you need a date. COUPDAYSNC provides a remaining day count and COUPNUM a payment count. Date-formatting a count does not turn it into a correct payment date.
References and verification
- Official WPS COUPNCD lesson (Chinese; Windows Personal documentation).
The documentation establishes the syntax and stated behavior. Original examples were checked independently under the assumptions stated alongside them; target-build execution remains a separate check. Version boundaries have not been inferred from another spreadsheet product.