COUPDAYS Function (OpenOffice Calc)
Find the coupon-period denominator with OpenOffice COUPDAYS. Compare actual periods, 360/frequency and 365/frequency, including the valid 182.5 result.
Verification status: Eight ordinary reference formulas were recalculated in Apache OpenOffice 4.1.16 on Linux x86-64, Build 9816, through generated native ODF and GUI hard recalculation. Saved identities, inputs and results were checked. How formula examples are checked
Quick answer: =COUPDAYS(DATE(2024;3;15);DATE(2025;12;31);2;0) returned 180 in the tested Apache OpenOffice 4.1.16 build.
Availability and version history
- Introduced: First release not established; documented by OpenOffice.org 3.3.
- Supported in: Apache OpenOffice 4.1.16; this is a verified release, not a final supported version.
- Scope: Desktop Calc, English function names and semicolon-separated formulas.
- Checked: October 14, 2026. Eight ordinary reference formulas were recalculated from generated ODF in 4.1.16 on Linux x86-64, Build 9816. Source and independent arithmetic were checked.
What COUPDAYS returns
COUPDAYS returns the day-count denominator for the coupon period containing settlement. Depending on the basis, it is either an actual calendar difference or a prescribed year length divided by coupon frequency. The result need not be a whole number. Release implementation.
Syntax and arguments
COUPDAYS(Settlement;Maturity;Frequency[;Basis])
- Settlement: date at which the regular coupon schedule is evaluated.
- Maturity: later final coupon date; the schedule is anchored to this date.
- Frequency: 1, 2 or 4 payments per year.
- Basis: optional, defaults to 0: US 30/360. Other values are 1 actual/actual, 2 actual/360, 3 actual/365 and 4 European 30/360. The functions implement the release-specific rules discussed below.
Eight reproducible examples
The native column contains saved 4.1.16 results; independent references use high-precision arithmetic and the stated source rules. Values are shown to twelve decimal places where needed. Enter DATE expressions directly rather than locale-dependent date text.
| Formula | Native 4.1.16 result | Independent reference |
|---|---|---|
=COUPDAYS(DATE(2024;3;15);DATE(2025;12;31);2;0) |
180 |
180 |
=COUPDAYS(DATE(2024;3;15);DATE(2025;12;31);2;1) |
182 |
182 |
=COUPDAYS(DATE(2024;3;15);DATE(2025;12;31);2;2) |
180 |
180 |
=COUPDAYS(DATE(2024;3;15);DATE(2025;12;31);2;3) |
182.5 |
182.5 |
=COUPDAYS(DATE(2024;3;15);DATE(2025;12;31);2;4) |
180 |
180 |
=COUPDAYS(DATE(2024;6;30);DATE(2025;12;31);2;1) |
184 |
184 |
=COUPDAYS(DATE(2024;3;15);DATE(2025;2;28);1;0) |
360 |
360 |
=COUPDAYS(DATE(2024;1;15);DATE(2025;12;31);4;1) |
91 |
91 |
Practical worksheet
For March 15, 2024 settlement, December 31, 2025 maturity and frequency 2, the current coupon period runs from December 31, 2023 to June 30, 2024. Basis 1 returns the actual 182 days.
Bases 0, 2 and 4 return 180, from 360/2. Basis 3 returns 182.5, from 365/2. The fractional value is intentional and should not be rounded to an integer simply because the function name contains “days.”
Advanced interpretation and checks
At settlement June 30, 2024, the preceding coupon equals settlement and the new period ends December 31, 2024. Actual/actual therefore returns 184, rather than the preceding period’s 182. Quarterly actual/actual for January 15, 2024 gives a December 31–March 31 period of 91 days.
For bases 2 and 3, elapsed and remaining calendar days can total a different value from this denominator. The first example has COUPDAYBS=75 and COUPDAYSNC=107, totaling 182, even though COUPDAYS is respectively 180 or 182.5. Use the chosen financial convention consistently rather than forcing an arithmetic identity that the source does not implement.
Boundaries and troubleshooting
Only basis 1 finds both adjacent coupon dates and measures their actual difference. The other supported bases return a year-length constant divided by frequency. The source still checks settlement before maturity and a frequency of 1, 2 or 4.
The ordinary native examples include frequencies 1, 2 and 4, all five bases, a coupon-date settlement and leap-year dates. Invalid frequency/basis, dates outside the ordinary range and irregular coupon schedules were not executed. A regular-period denominator does not establish whether a particular security uses that schedule or convention.
Related functions
Official evidence and checking scope
- Function-specific release implementation
- GetCoupdays schedule/date helper
- lcl_GetCouppcd schedule/date helper
- ScaDate::setDay schedule/date helper
- ScaDate::getDate schedule/date helper
- ScaDate::getDiff schedule/date helper
- GetDaysInYear schedule/date helper
- Maturity month-end preservation
- Optional basis conversion and validation
The generated ODF produced the informational load warning “Not all attributes could be read.” The sheet was hard-recalculated and saved separately. All eight ordinary function identities, inputs and results were reconciled; a stale SUM cache changed from 999999 to 3 and an uncached SUM returned 7. This establishes the stated examples, not every workbook style or invalid input. Other explanatory identities are independent calculations. The authoring-tool XLSX was not executed in OpenOffice, and its preview values are not the native results reported here.