The Excel CUMPRINC function is a financial function that returns the cumulative principal paid on a loan between a start period and an end period. You can use CUMPRINC to calculate and verify the total principal paid on a loan, or the principal paid between any two payment periods.


Get cumulative principal paid on a loan

Return value 

The principal amount


  • 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.

How to use 

The CUMPRINC function calculates the cumulative principal amount paid over a specified range of time, defined by the start and end periods of a loan. This function is important for financial analysis, particularly in managing loans and amortization schedules. By allowing a user to calculate the principal portion of loan payments over specific periods, CUMPRINC helps in understanding the trajectory of loan repayment. Typical use cases include evaluating the principal repayment structure of mortgages over various durations, analyzing the principal component in different loan offers, or planning financial budgets. The CUMPRINC function offers valuable insights into loan dynamics, which help with informed financial decisions and effective loan management.


Assume a 5-year loan for $10,000 with an annual interest rate of 5%. Payments are monthly and there are 12 compounding periods per year. You want to confirm the total principal paid over the full term of the loan. You can calculate the total principal paid with the CUMPRINC function like this:


The inputs to CUMPRINC are as follows:

  • rate = 5%/12 = 0.00416 (the annual interest rate divided by 12)
  • 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 -10,000, which is the total principal paid over the full term of the loan. As expected, this is the original loan amount. The CUMPRINC 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 like this:


Worksheet example

In the example above, all inputs to CUMPRINC are hardcoded to make the formula easier to read. In most cases, however, the main inputs will come from cell references. The screen below shows the same example can be set up in a worksheet:

How to use the CUMIPMT function to calculate the total principal paid on a loan

The formula in cell C10 is evaluated like this:


Notice that we provide the term as years * periods per year, instead of hardcoding the number 60 into the formula. Excel then calculates a value of 60 for nper before the CUMPRINC function runs. One reason to do it this way is to let Excel handle the math and provide a reminder of how we are deriving nper. More importantly, this also makes it possible for the formula to automatically adapt to a loan with a different term or a loan with a different number of compounding periods per year.

Also, notice that the monthly payment is not an input to CUMPRINC. This is because Excel can determine the regular payment amount based on the interest rate, number of periods, and principal amount. Excel calculates the interest due for a period and subtracts this amount from the payment to determine the principal payment.  To calculate a payment for a loan directly you can use the PMT function.


  1. The interest rate can be provided as a percentage like 5% or a decimal number like 0.05.
  2. Be consistent with inputs for rate. For example, for a 5-year loan with 6% annual interest, enter the rate as 6%/12.
  3. The loan value (pv) must be entered as a positive value or CUMPRINC will return a #NUM! error.
  4. The values for start_period and end_period should be integers between 1 and the total number of periods.
  5. The value for start_period must be less than or equal to the value for end_period.
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.