ODDLYIELD Function in ONLYOFFICE Spreadsheet Editor: Syntax and Examples
Calculate annual yield from a clean price for an odd last coupon, with explicit accrued interest and a direct algebraic check.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer
For the four-month final coupon below, a clean price of 99.82450331125828 per 100 corresponds to an expected annual yield of 0.08, or 8%. ODDLYIELD uses a direct expression in the inspected ONLYOFFICE source; it does not invoke the iterative solver used by ODDFYIELD.
Use a clean price excluding accrued coupon interest. Adding accrued interest to the input first would change the result because the function adds its own accrued amount in the denominator.
Syntax and required inputs
=ODDLYIELD(settlement, maturity, last_interest, rate, pr, redemption, frequency, [basis])
The first seven arguments are required. last_interest is the last coupon date before settlement, and the strict order is last_interest < settlement < maturity. rate is the annual coupon rate. pr and redemption are both per 100 face value. Frequency accepts 1, 2 or 4. Basis defaults to 0: US30/360; alternatives are 1 actual/actual, 2 actual/360, 3 actual/365 and 4 European 30/360.
The output is a decimal annual yield. Format 0.08 as 8%; do not multiply it by 100 and then also apply percentage formatting. Yield is distinct from the coupon rate and from total holding-period return.
Step-by-step: invert a short-final price
- Put
=DATE(2026,4,15)in B2 for settlement. - Put
=DATE(2026,5,15)in B3 for maturity. - Put
=DATE(2026,1,15)in B4 for the last coupon date. - Enter
0.06in B5 for coupon rate. - Enter
99.82450331125828in B6 for clean price. - Enter
100in B7,2in B8 and0in B9. - Enter
=ODDLYIELD(B2,B3,B4,B5,B6,B7,B8,B9)in B11 and apply percentage formatting.
Expected result: approximately 8%. The independent calculation uses final coupon 2 and accrued interest 1.5, both per 100. The remaining year fraction is 1/12:
annual yield = ((100 + 2)/(99.82450331125828 + 1.5) - 1)/(1/12)
= 0.08 approximately
The denominator inside the ratio is the dirty purchase amount. The final division annualizes the remaining-period return using the selected year fraction.
Advanced case: price sensitivity and an algebraic residual
With the dates and coupon unchanged, a clean price of 100 gives expected yield 0.0591133004926, approximately 5.91133%. A clean price of 100.5 gives zero yield because dirty cost then equals the final payment of 102.
For any candidate yield y in this example, compute 102/(1+y/12)-1.5 and compare it with the original clean price. At 8%, it reconstructs 99.82450331125828 to rounding. This is a transparent identity for the selected source expression and sensible inputs; it is not a blanket guarantee that all malformed or singular inputs are mutual inverses.
Frequency cancels algebraically in the inspected expression, so otherwise identical inputs with frequency 1, 2 or 4 have the same expected yield. The frequency argument is still required and validated. Other software may implement odd-final conventions differently, particularly for long final periods; compare formulas and payment assumptions rather than the name alone.
Errors and domain cautions
The wrapper rejects negative price or coupon, nonpositive redemption, invalid date ordering, invalid frequency and basis outside 0–4 with #NUM!. It floors dates, frequency and basis. Conversion errors propagate. The guard permits price zero, but a zero dirty-price denominator can become singular; the worked cases use positive clean prices and well-defined fractions.
The direct expression can return a negative yield for a sufficiently high price. A negative result is not automatically an implementation failure, but it needs an economically appropriate interpretation. Do not infer that ODDLPRICE will accept every such result: its wrapper rejects negative yield inputs, so a universal two-way inverse claim would be wrong.
Use DATE and keep date/value units explicit. Basis 1 delegates to the application’s actual/actual year-fraction method; month-end and leap-year differences need separate checking. The examples here use a short final period and 15th-of-month dates, without fees, tax effects, holiday adjustments or market quote rounding.
Availability and verification scope
Checked October 18, 2026 against the official ODDLYIELD help and official SDKJS source tagged v10.0.0.169. Desktop Editors 10.0 was released October 13, 2026. The original introduction version for this individual function is not established; current help does not mark it retired or deprecated.
All results in this guide are expected values from documentation, source inspection and independent arithmetic, not application observations. Neither the application nor its calculation engine was used to test these examples. The tag matches the installed version/build designation but does not establish identical behavior in every older release, mobile client, server deployment or imported workbook. Examples use English names and comma argument separators; adapt separators to editor settings. These fictional calculations explain a function, not an investment or borrowing recommendation.