Purpose
Return value
Syntax
=COUPPCD(settlement,maturity,frequency,[basis])
- settlement - Settlement date of the security.
- maturity - Maturity date of the security.
- frequency - Number of coupon payments per year (annual = 1, semi-annual = 2, quarterly = 4).
- basis - [optional] Day count basis (see below, default =0).
Using the COUPPCD function
Historically, bonds were printed with an elaborate design on paper that included detachable coupons. The coupons were presented to the bond issuer by the bondholder to collect periodic interest payments.
The Excel COUPPCD function returns the previous coupon date before the settlement date. The settlement date is the date the investor takes possession of a security. The maturity date is the date when the investment ends and the principle plus accrued interest is returned to the investor. The frequency is the number of interest payments per year. Basis specifies the method used to count days (see below). In the example shown, the formula in F6 is:
=COUPPCD(C6,C7,C10,C11)
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, you can use the DATE function . Below is the formula in F6 reworked with hardcoded values and the DATE function:
=COUPPCD(DATE(2019,9,1),DATE(2029,1,1),2,0)
With these inputs, COUPPCD returns the same result, 1-Jul-2019.
Basis
The basis argument controls how days are counted. The COUPPCD 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 |
Notes
- In Excel, dates are serial numbers .
- All arguments are truncated to integers, so for example, time is ignored.
- If settlement or maturity dates are not valid, COUPPCD returns #VALUE!
- If basis is out-of-range , COUPPCD returns #NUM!
- If maturity date is not later than settlement date, COUPPCD returns #NUM!
Purpose
Return value
Syntax
=CUMIPMT(rate,nper,pv,start_period,end_period,type)
- rate - The interest rate per period.
- nper - The total number of payments for the loan.
- pv - The present value, or total value of all payments now.
- start_period - First payment in calculation.
- end_period - Last payment in calculation.
- type - When payments are due. 0 = end of period. 1 = beginning of period.
Using the CUMIPMT function
The CUMIPMT function returns the cumulative interest over a range of time defined by a given start and end period. CUMIPMT is useful for financial analysis, particularly in scenarios involving loans and investments. It allows users to calculate the cumulative interest over specific periods, which makes it an important tool for understanding the financial impact of different loan terms or investment strategies. Typical use cases include assessing the total interest outlay on mortgages over various time frames, comparing interest accruals on different loan offers, or analyzing investment growth over time. The CUMIPMT function provides a useful view of financial obligations or growth which can help with more informed decision-making and effective financial planning
Example
Suppose you have a 5-year loan of $10,000 with an annual interest rate of 5% and 12 compounding periods per year. You want to find out the total interest you would pay over the full term of the loan. You can make this calculation with the CUMIPMT function like this:
=CUMIPMT(5%/12,5*12,10000,1,5*12,0)
The inputs to CUMIPMT are as follows:
- rate = 5%/12 = 0.00416 (since it’s an annual interest rate with monthly compounding)
- nper = 5*12 = 60 (a 5-year loan has 60 periods)
- pv = 10,000 (the loan amount)
- start_period = 1 (the first period)
- end_period = 60 (the last period)
- type = 0 (payments at the end of each month)
The result is -1,322.74. This is the total interest paid over the full term of the loan. Notice that the CUMIPMT function in Excel returns a negative value because it represents an outflow of money. If you need a positive value, you can wrap the formula in the ABS function .
Worksheet example
In the example above, all inputs to CUMIPMT are hardcoded to make the formula easier to read. More typically, the inputs will come from cell references. The screen below shows the same example transferred to a worksheet:

The formula in cell C10 is evaluated like this:
=CUMIPMT(C5/C7,C6*C7,C4,1,C6*C7,0)
=CUMIPMT(0.05/12,5*12,10000,1,5*12,0)
=CUMIPMT(0.0041667,60,10000,1,60,0)
-1322.75
Notice that we use the term in years * the periods per year to calculate total periods, instead of hardcoding the number 60. We do this so that the formula will automatically adapt to a different number of compounding periods per year.
Also, notice that the monthly payment is not an input to CUMIPMT. This is because CUMIPMT calculates cumulative interest based on the original principal (or present value), the interest rate, and the provided periods. The periodic (e.g., monthly) payment amount isn’t needed to determine how much interest accumulates across the given period range. To calculate a payment for a loan you can use the PMT function .
Notes
- The interest rate can be provided as a percentage like 5% or a decimal number like 0.05.
- Be consistent with inputs for rate. For example, for a 5-year loan with 6% annual interest, enter the rate as 6%/12.
- The loan value ( pv ) must be entered as a positive value or CUMIPMT will return a #NUM! error.
- The values for start_period and end_period should be integers between 1 and the total number of periods.
- The value for start_period must be less than or equal to the value for end_period .