The Excel PRICEDISC function returns the price per $100 face value of a discounted security.


Get price per $100 discounted security

Return value 

Bond price


  • sd - Settlement date of the security.
  • md - Maturity date of the security.
  • discount - Discount rate of the security.
  • redemption - Redemption value per $100 face value.
  • basis - [optional] Day count basis (see below, default =0).

How to use 

The Excel PRICEDISC function returns the price per $100 face value of a discounted security.  In the example shown, the formula in F5 is:


with these inputs, PRICEDISC returns a price for the bond of $82.50.

Entering dates

In Excel, dates are serial numbers. Generally, the best way to enter valid dates is to use cell references, as shown in the example. To enter valid dates directly inside a function, you can use the DATE function. The same formula above using the DATE function, and with other values hardcoded looks like this:



The basis argument controls how days are counted. The PRICEMAT function allows 5 options (0-4) and defaults to zero, which specifies US 30/360 basis. This article on Wikipedia provides a detailed explanation of available conventions.

Basis Day count
0 or omitted US (NASD) 30/360
1 Actual/actual
2 Actual/360
3 Actual/365
4 European 30/360


  • In Excel, dates are serial numbers
  • Settlement, maturity, and basis are truncated to integers.
  • If any date is not valid, PRICEDISC returns #VALUE!
  • Rate must be positive or PRICEDISC returns the #NUM!
  • If basis is out-of-range, PRICEDISC returns #NUM!
  • If maturity date is not later than settlement date, PRICEDISC returns #NUM!
Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.