YIELDMAT Function in ONLYOFFICE Spreadsheet Editor: Syntax and Examples
Find the annual yield for interest paid at maturity, accounting for accrued interest and the per 100 clean purchase quote.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer
=YIELDMAT(DATE(2026,7,15),DATE(2027,1,15),DATE(2026,1,15),0.05,97.5,0) is expected to return 0.10, or 10%. The price 97.5 is a clean quote per 100; adding 2.5 accrued interest gives an invested settlement value 100, followed by 105 at maturity six convention-months later.
Syntax and required units
=YIELDMAT(settlement, maturity, issue, rate, pr, [basis])
rate is the annual issue interest rate; pr is the positive purchase price per 100 face value. The output is an annual yield as a decimal. There is no payment-frequency argument because the model pays interest at maturity rather than through regular coupons.
The current official help has a mismatched closing bracket in its printed optional-basis syntax. The six-argument form above follows the registered source arity: five required inputs and optional basis. Do not type square brackets into a formula.
Basis defaults to 0 when omitted. The documented codes are 0 US (NASD) 30/360, 1 actual/actual, 2 actual/360, 3 actual/365 and 4 European 30/360. Use DATE for unambiguous numeric dates, settlement strictly before maturity, and consistent monetary units. Brackets mark optional syntax and are not typed.
For the intended cash-flow model require issue ≤ settlement < maturity. The source helper uses three year fractions: u=issue-to-maturity, a=issue-to-settlement and t=settlement-to-maturity. Its yield is ((1+u×rate)/(pr/100+a×rate) − 1)/t.
Step-by-step: check the yield independently
- Put settlement
=DATE(2026,7,15)in A2 and maturity=DATE(2027,1,15)in B2. - Put issue
=DATE(2026,1,15)in C2. - Enter issue rate
0.05in D2, clean price97.5in E2 and basis0in F2. - Put
=YIELDMAT(A2,B2,C2,D2,E2,F2)in G2 and format G2 as a percentage.
Under 30/360, u=1 and a=t=0.5. Maturity principal plus interest is 105 per 100; accrued interest at settlement is 2.5. The full settlement price is 97.5+2.5=100. The yield is (105/100−1)/0.5=0.10.
| Formula | Expected annual yield |
|---|---|
=YIELDMAT(A2,B2,C2,0.05,97.5,0) |
0.10 |
=YIELDMAT(A2,B2,C2,0.05,97.5) |
0.10, default basis 0 |
=YIELDMAT(A2,B2,C2,0.05,100,0) |
0.0487804878049 approximately |
=YIELDMAT(A2,B2,C2,0.05,102.5,0) |
0 |
For clean price 100, the denominator is 102.5 after adding accrued interest, giving (105/102.5−1)/0.5. Clean price 102.5 plus 2.5 accrued equals the maturity 105, producing zero yield. Yield and issue rate therefore need not be equal.
Advanced case: reconcile price and yield without dropping accrued interest
PRICEMAT with the same dates, issue rate 5% and target yield 10% produces clean price 97.5. Substituting that price into the worked YIELDMAT formula recovers 10% algebraically. This provides a controlled consistency check for the intended maturity-interest model.
For face 10,000, scale the clean quote to 9,750 and accrued interest to 250. The full amount used in the yield ratio is 10,000, while maturity pays 10,500. Using 9,750 alone as the investment would overstate the yield by ignoring accrued interest. Keep all amounts on the same scale; the source itself uses normalized principal 100.
This simple yield does not assume reinvestment or an effective compounded annual return. Fees or interim transfers require explicit additional modeling, and a periodic coupon security belongs to a different function family.
Errors and boundary differences
The inspected wrapper rejects nonpositive price, nonpositive issue rate, settlement at/after maturity, invalid basis and unsupported date serials with #NUM! after conversion. Thus rate 0 is rejected here even though the algebra and PRICEMAT’s separate wrapper can handle a zero-rate case. Negative output yield is not categorically rejected by this wrapper; a sufficiently high clean price can represent a modeled loss.
Date serials and basis are floored. The issue date is checked for supported range but not explicitly ordered against settlement and maturity. Enforce chronology independently: a numeric result cannot certify that the three dates represent a possible security. Leap-year and multi-year actual/actual fractions also need separate checking because the helper computes each interval independently.
Availability and verification scope
Checked October 18, 2026 against the official YIELDMAT 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.