All in One Bundle

MDURATION in Google Sheets

Written by ExcelMojo Team ExcelMojo Editorial Team Editorial Team The ExcelMojo Editorial Team creates and improves practical Excel, VBA, Power BI, analytics, and AI spreadsheet resources for learners, analysts, teams, and business professionals. Excel VBA Power BI View Full Bio
Reviewed by Dheeraj Vaidya, CFA, FRM Dheeraj Vaidya, CFA, FRM Co-Founder & Course Director Dheeraj is the founder of ExcelMojo and leads the learning direction across Excel, analytics, financial modeling, valuation, and AI spreadsheet workflows. A former J.P. Morgan and CLSA equity... Financial Modeling Valuation Investment Banking View Full Bio
Updated Apr 27, 2026
Read Time 7 min

What is MDURATION in Google Sheets?

The MDURATION function in Google Sheets calculates the modified duration of a bond or fixed-income security. Calculating the modified duration helps investors understand how the price of a bond changes in response to fluctuations in the interest rate. The formula builds on the Macaulay duration but adjusts according to the interest rate compounding. It is commonly used in bond risk analysis to estimate the percentage price change for a 1% shift in yield. Thus, it is very useful for portfolio and investment planning.

In the example below, we have entered the values required in Google Sheets and applied the formula as shown below to calculate the modified duration.

Download FREE MDURATION in Google Sheets Template and Follow Along!

Use this MDURATION in Google Sheets Template to follow along with the examples in this article.

Download Excel Template

=MDURATION(B1, B2, B3, B4, B5, B6). Press Enter.

MDURATION function in Google Sheets intro

The result shows how much the bond’s price is expected to change in response to a 1% change in interest rates. This helps investors evaluate and manage interest rate risk.

Key Takeaways

  1. The MDURATION in Google Sheets calculates the modified duration of a bond, which indicates how much the price of a bond will change with changes in interest rates.
  2. The syntax for the function is:
       =MDURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])
  3. MDURATION is different from DURATION because it adjusts the value based on the bond’s yield. Therefore, it is more accurate for estimating interest rate risk.
  4. The rate and yield must be provided in decimal form, and the frequency must be 1 (annual), 2 (semi-annual), or 4 (quarterly).

Syntax

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

1. settlement – is the date when the security is traded to the buyer after issuance. It marks the start of ownership and cash flow for the investor.

2. maturity – the end date or maturity of the security when the issuer repays the face or par value to the buyer.

3. rate – is the annualized coupon interest rate paid by the security. It represents the return provided to the investor through periodic payments.

4. yield – is the annual yield or return that the investor expects from the security, often based on market interest rates.

5. frequency – is the number of coupon payments made per year. Common values include:

  • 1 for annual payments
  • 2 for semi-annual payments
  • 4 for quarterly payments

6. day_count_convention (optional) – [0 by default] – defines the day count method used to calculate the duration. Google Sheets accepts five different values:

  • 0 – US (NASD) 30/360: Assumes 30-day months and 360-day years, with adjustments for end-of-month dates.
  • 1 – Actual/actual: Uses the actual number of days between dates and in the year.
  • 2 – Actual/360: Counts actual days but assumes a 360-day year.
  • 3 – Actual/365: Counts actual days with a 365-day year.
  • 4 – European 30/360: Similar to option 0 but follows European end-of-month conventions.

How To Use MDURATION Function in Google Sheets?

The MDURATION function can be manually typed into Google Sheets as a formula, or it can be selected from the Google Sheets menu. First, let’s look at how to manually use the MDURATION function with an example.

Entering MDURATION Manually

Let us look at an example. We have the bond details entered in a spreadsheet. The bond is purchased on 01-Jan-2020, with a maturity date of 01-Jan-2030. It has an annual coupon rate of 7%, and the expected yield is 5%. Interest is paid semi-annually.

Step 1: Enter the following details in a Google Sheet as shown:

How to Use MDURATION Function 1

Step 2: In cell B8, let us type the MDURATION formula, as shown below.

=MDURATION(

How to Use MDURATION Function 1-1

Step 3: Enter each parameter in the correct order:

=MDURATION(B1, B2, B3, B4, B5, B6)

Close the parentheses and ensure the correct cell references are used for the inputs.

How to Use MDURATION Function 1-2

Step 4: Press Enter. You will now see the modified duration value displayed. In this example, it is 7.3 years, which reflects the bond’s sensitivity to changes in interest rates.

How to Use MDURATION Function 1-3

Inserting MDURATION through the Google Sheets Menu

Click the cell where you want to display the result.

  • Go to the Insert tab on the Google Sheets toolbar.
  • Choose Function, then go to Financial.
  • From the list of financial functions, select MDURATION.
  • Fill in the required parameters.
  • Google Sheets returns the modified duration based on the inputs.

Examples

We use the MDURATION formula in Google Sheets to calculate the modified duration of a fixed-income security, which reflects its price sensitivity to changes in interest rates. This function is particularly useful in bond portfolio management and interest rate risk analysis. Let us explore some key scenarios where the MDURATION function is very useful in finding the duration.

Example #1 – Calculate the modified duration for a bond bought on January 1, 2025, maturing on January 1, 2028, with an annual coupon rate of 6% and a yield of 3%, with quarterly payments

An investor purchases a bond on January 1, 2025, that matures on January 1, 2028. The bond has a face value of $5000, an annual coupon rate of 6%, and a yield of 3%. The bond pays interest quarterly. Let us calculate the modified duration using the MDURATION function in Google Sheets.

Step 1: Enter the bond details into the sheet as shown below:

MDURATION function in Google Sheets Example 1

Step 2: Use the MDURATION formula as shown below:

=MDURATION(B1, B2, B3, B4, B5, B6)

MDURATION function in Google Sheets Example 1-1

Step 3: Alternatively, you can directly enter the formula using the arguments in another cell (e.g., B9).

=MDURATION(DATE(2025, 1, 1), DATE(2028, 1, 1), 0.06, 0.03, 4, 0)

MDURATION function in Google Sheets Example 1-2

Step 4: Press Enter. You will get a modified duration value of around 2.77 years, which reflects the bond’s sensitivity to changes in interest rates.

MDURATION function in Google Sheets Example 1-3

Example #2 – Calculate the modified duration for a bond bought on January 1, 2025, maturing on January 1, 2030, with an annual coupon rate of 3% and a yield of 5%, with semi-annual payments

An investor purchases a bond on January 1, 2025, which matures on January 1, 2030. The bond offers an annual coupon rate of 3% and the expected yield is 5%. Interest payments are made semi-annually. We will calculate the modified duration for these values.

Step 1: Enter the bond details into a spreadsheet, as shown below:

MDURATION function in Google Sheets Example 2

Step 2: In cell B8, type the following MDURATION formula:

=MDURATION(B1, B2, B3, B4, B5, B6)

MDURATION function in Google Sheets Example 2-1

Step 3: You can also enter the values directly, as we did in the previous example. Let us check the result both ways.

=MDURATION(DATE(2025, 1, 1), DATE(2030, 1, 1), 0.03, 0.05, 2, 0)

MDURATION function in Google Sheets Example 2-2

Step 4: Press Enter. We get the modified duration value as approximately 4.38 years. This result helps the investor understand how much the bond’s price may change in response to a 1% change in interest rates.

MDURATION function in Google Sheets Example 2-3

Example #3 – Calculate the modified duration for a bond bought on January 1, 2025, maturing on January 1, 2032, with an annual coupon rate of 5% and a yield of 4%, with annual payments

A person purchased a bond on January 1, 2025, which will reach maturity on January 1, 2032. The bond offers an annual interest rate of 5%, and the investor anticipates a 4% yield. Since there are payments0 once per year, the payment frequency varies accordingly. Let us use the MDURATION function in Google Sheets to determine the bond’s modified duration.

Step 1: Let us fill in the bond data in a spreadsheet.

MDURATION function in Google Sheets Example 3

Step 2: In cell B8, insert the following formula to calculate modified duration:

=MDURATION(B1, B2, B3, B4, B5, B6)

MDURATION function in Google Sheets Example 3-1

Step 3: Press Enter. You get the bond’s modified duration, which is around 5.87 years. This means the bond’s price is expected to decrease by around 5.87% for every 1% increase in interest rates.

MDURATION function in Google Sheets Example 3-2

Important Things to Note

  1. The MDURATION in Google Sheets returns the modified duration, which adjusts for yield and is more accurate for interest rate sensitivity.
  2. Frequency must be 1 (annual), 2 (semi-annual), or 4 (quarterly). Use only these three values.
  3. MDURATION uses the Macaulay duration internally but adjusts it to reflect price sensitivity using the yield.
  4. One must enter the coupon rate and yield as percentages or decimal values (e.g., 6% as 0.06.
  5. If the rate, yield, or frequency values are invalid, we get an #NUM error.

Frequently Asked Questions (FAQs)

When do we get a #VALUE! or #NUM! error with MDURATION in Google Sheets?

1. We get an #VALUE! error when a date is invalid or there is incorrect format.
2. A #NUM! error often occurs when frequency is not 1, 2, or 4, or when yield/rate values are out of range.
3. Also ensure that the settlement date is before the maturity date to avoid potential errors. The day count basis should also be within the accepted range (0 to 4).

In case of an error, review each argument carefully to fix the error.

How is MDURATION different from the DURATION function?

We use both MDURATION and DURATION in Google Sheets to calculate the duration, but they differ in what they measure.

DURATION returns the Macaulay duration, which is the weighted average time to receive cash flows.

MDURATION in Google Sheets adjusts for yield and gives the modified duration, which reflects price sensitivity. Modified duration is more accurate when interest rates change.

MDURATION is used for interest rate risk, while DURATION is used for time-weighted analysis.

What format should the dates be in?

Dates should be entered using the DATE function or as formatted date cells in Google Sheets.

Download FREE MDURATION in Google Sheets Template and Follow Along!

Use this MDURATION in Google Sheets Template to follow along with the examples in this article.

Download Excel Template