Skip to content
Google Sheets

DURATION function in Google Sheets

Calculates the number of compounding periods required for an investment of a specified present value appreciating at a given rate to reach a target value.

=DURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])

DURATION syntax and parameters

Six arguments, five required.

  • settlementanyRequired

    The settlement date of the security, the date after issuance when the security is delivered to the buyer.

  • maturityanyRequired

    The maturity or end date of the security, when it can be redeemed at face or par value.

  • ratenumberRequired

    The annualized rate of interest.

  • yieldnumberRequired

    The expected annual yield of the security.

  • frequencynumberRequired

    The number of interest or coupon payments per year (1, 2, or 4).

  • day_count_conventionnumberOptional

    [ OPTIONAL - 0 by default ] - An indicator of what day count method to use. 0 indicates US (NASD) 30/360 - This assumes 30 day months and 360 day years as per the National Association of Securities Dealers standard, and performs specific adjustments to entered dates which fall at the end of months. 1 indicates Actual/Actual - This calculates based upon the actual number of days between the specified dates, and the actual number of days in the intervening years. Used for US Treasury Bonds and Bills, but also the most relevant for non-financial use. 2 indicates Actual/360 - This calculates based on the actual number of days between the specified dates, but assumes a 360 day year. 3 indicates Actual/365 - This calculates based on the actual number of days between the specified dates, but assumes a 365 day year. 4 indicates European 30/360 - Similar to 0, this calculates based on a 30 day month and 360 day year, but adjusts end-of-month dates according to European financial conventions.

DURATION examples

Formulas you'll actually reuse.

  1. Macaulay duration in years — the cash-flow-weighted time to repayment:

    =DURATION(DATE(2026, 5, 15), DATE(2031, 3, 15), 5%, 4%, 2, 0)

    Result4.3322

  2. A portfolio's duration — each bond's duration weighted by its market value in F:

    =SUMPRODUCT(DURATION(B2:B6, C2:C6, D2:D6, E2:E6, 2), F2:F6) / SUM(F2:F6)

DURATION in Excel

Same name — your formula ports as-is.

Try DURATION in the playground

Edit the example — nothing to install.

Preloaded with the DURATION formula from Example 1 — change anything and watch it respond.

Loading the editor…