How to use DURATION Function in Excel

The DURATION function is categorized under Excel Financial functions. It helps to calculate the Macauley Duration. The function calculates the duration of a security that pays interest on a periodic basis with a par value of $100. DURATION is commonly used by Portfolio Managers who use the immunization strategy. Apart from it, the function is also useful in financial modeling, particularly in predicting future cash flows of investments.

Syntax: =DURATION(settlement, maturity, coupon, yield, frequency, [basis])

The DURATION function syntax has the following arguments:

  • Settlement    Required. The security’s settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
  • Maturity    Required. The security’s maturity date. The maturity date is the date when the security expires.
  • Coupon    Required. The security’s annual coupon rate.
  • Yld    Required. The security’s annual yield.
  • Frequency    Required. The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
  • Basis    Optional. The type of day count basis to use.
Basis Day count basis
0 or omitted US (NASD) 30/360
1 Actual/actual
2 Actual/360
3 Actual/365
4 European 30/360

Example: Let’s look at some Excel DURATION function examples and explore how to use the DURATION function as a worksheet function in Microsoft Excel:

Syntax:  =DURATION(B1,B2,B3,B4,B5,B6)


Based on the Excel spreadsheet above, the following DURATION examples would return:

Syntax: =DURATION(B1,B2,B3,B4,B5,B6)
Result: 10.06252832

Syntax: =DURATION(DATE(2018,5,1),DATE(2050,4,1),0.09,0.1,2,1)
Result: 10.06252832

Syntax: =DURATION(DATE(2018,5,1),DATE(2050,4,1),9%,10%,B5,B6)
Result: 10.06252832


  • Settlement, maturity, frequency, and basis are truncated to integers.
  • If settlement or maturity is not a valid date, DURATION returns the #VALUE! error value.
  • If coupon < 0 or if yld < 0, DURATION returns the #NUM! error value.
  • If frequency is any number other than 1, 2, or 4, DURATION returns the #NUM! error value.
  • If basis < 0 or if basis > 4, DURATION returns the #NUM! error value.
  • If settlement ≥ maturity, DURATION returns the #NUM! error value.

Add a Comment

Your email address will not be published. Required fields are marked *