The ODDLPRICE function calculates the price, per $100 face value of a security with an odd, short or long, last period.




Argument Description
settlement The settlement date of the security, i.e. the date that the coupon is purchased
maturity The maturity date of the security, i.e. the date that the coupon expires
last_interest The date of the security’s last coupon
rate The security’s interest rate
yld The annual yield of the security
redemption Redemption value per $100 face value
frequency Number of coupon payments per year. This must be one of the following:

  1 Annually
  2 Semi-Annually
  3 Quarterly
[basis] Optional. Defines the day count basis to be used in the calculation

  [basis] Day Count Basis
  0 (or omitted) US (NASD) 30/360
  1 actual/actual
  2 actual/360
  3 actual/365
  4 European 30/360

The financial day count basis rules are explained in detail on the Wikipedia Day Count Convention page

Note: The date arguments must satisfy the following:

last_coupon < settlement < maturity

Note: The settlement, maturity and last_interest dates should be input as either:

  • References to cells containing dates, or
  • Dates returned from formulas

If you attempt to input these date arguments as text, Excel may misinterpret them, due to different date systems, or date interpretation settings.

Warning: Although you can input the date arguments as date serial numbers, this is not recommended as date serial numbering does vary across different computer systems.


  A B C D
1 Data      
2 14-Apr-14 Settlement date    
3 30-Jun-14 Maturity date    
4 31-Jan-14 last_interest date    
5 5.5% Interest rate    
6 3.5% Annual yield    
7 $100.00 Redemption value    
8 4 Frequency is quarterly    
10 Formula Result Notes
11 =ODDLPRICE(A2,A3,A4,A5,A6,A7,A8) $100.41 The price per $100 of a security having an odd (short or long) last coupon period, for a bond using the terms in cells A2:A9 as function arguments, [basis] was omitted and therefore defaults to 0

Common Function Error(s)

Problem What went wrong
#VALUE! Occurs if:

  any of the supplied arguments are non-numeric
  the supplied settlement, maturity or last_interest arguments are not a valid dates
#NUM! Occurs if:

  the last_coupon date is ≥ settlement date
  the settlement date is ≥ maturity date
  invalid numbers are supplied for the rate, yld, redemption, frequency or [basis] arguments
#NAME? Occurs when Analysis ToolPak add-in is not enabled