CUMIPMT function

CUMIPMT returns the cumulative interest paid on a loan between two specified periods, given a fixed interest rate and payment schedule.

=CUMIPMT(rate, nper, pv, start_period, end_period, type)

Generate a CUMIPMT formula

Describe what you need. The generator will reach for CUMIPMT where CUMIPMT is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How CUMIPMT reads its arguments
raterequirednperrequiredpvrequiredstart_periodrequiredend_periodrequiredtyperequiredCUMIPMT
ArgumentRequiredDescription
rateRequiredInterest rate per period as a decimal (e.g., 0.01 for 1% monthly). Must be non-negative; 0 causes #DIV/0!.
nperRequiredTotal number of payment periods over the loan's life. Must be a positive integer; fractional or zero values error.
pvRequiredPresent value (principal loan amount). Non-zero required; must match the currency and sign convention of rate.
start_periodRequiredFirst period included in the cumulative sum; ranges from 1 to nper. Must be ≤ end_period or #NUM! occurs.
end_periodRequiredLast period included; ranges from start_period to nper. If > nper or < start_period, returns #NUM!.
typeRequiredPayment timing: 0 (or omitted) for end-of-period payments, 1 for beginning-of-period; other values error.

Returns

A negative number representing the total interest accrued across the period range (in the same currency as the principal).

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Calculate interest paid during months 3–5 of support-service financing

Ticket IDPriorityOpenedClosedAgentCSAT
T001High2026-03-012026-03-02Alice5
T002High2026-03-052026-03-07Bob4
T003Medium2026-03-102026-03-14Carol4
=CUMIPMT(0.01, 12, 50000, 3, 5, 0)

Result: -1237.28

A support vendor financed a $50,000 equipment loan at 1% monthly to scale ticket handling capacity. This formula calculates cumulative interest for months 3–5 (March–May). Early-period interest is high because the outstanding principal hasn't declined much yet; each month's interest accrues on the full remaining balance before principal repayment.

2. Compare first-half vs. second-half interest on a yearly financing

Ticket IDPriorityOpenedClosedAgentCSAT
T004Medium2026-01-152026-01-17Alice3
T005Low2026-02-032026-02-05Bob2
T006High2026-03-122026-03-13Carol5
=CUMIPMT(0.01, 12, 50000, 1, 6, 0)

Result: -3069.89

The first six months accumulate $3,069.89 in interest charges. Because principal declines with each payment, the second half (months 7–12) will accrue significantly less interest. This front-loading of interest is standard in amortized loans and shows why early payoff saves money.

3. Calculate interest in final months when principal is nearly repaid

Ticket IDPriorityOpenedClosedAgentCSAT
T007Low2026-11-022026-11-04Alice2
T008Medium2026-11-182026-11-20Bob3
T009Medium2026-12-052026-12-08Carol4
=CUMIPMT(0.01, 12, 50000, 11, 12, 0)

Result: -72.16

By months 11–12, total interest paid is only $72.16—about 2% of what the first half cost. The principal balance has shrunk from $50,000 to a few thousand, so interest accrual drops steeply. This demonstrates amortization's asymmetry: you pay more interest upfront.

Common errors

Which CUMIPMT error are you seeing?
CUMIPMT returned an error#NUM!
Verify that 1 ≤ start_period ≤ end_period ≤ nper. Swap the arguments if reversed; adjust period numbers to fall within the loan term.
#DIV/0!
Avoid a zero rate, or wrap the call in an IF: =IF(rate=0, 0, CUMIPMT(rate, nper, pv, start_period, end_period, type)). Alternatively, use a very small rate like 0.00001 as a workaround.
#VALUE!
Ensure all arguments are numbers. Convert text rates with VALUE() or manual division: =CUMIPMT(VALUE("1%")/100, 12, 50000, 3, 6, 0). Do not mix dates or other data types.
ErrorWhy it happensHow to fix it
#NUM!start_period or end_period is outside the valid range [1, nper], or start_period > end_period. For example, =CUMIPMT(0.01, 12, 50000, 7, 5, 0) (reversed) or =CUMIPMT(0.01, 12, 50000, 13, 15, 0) (periods beyond nper).Verify that 1 ≤ start_period ≤ end_period ≤ nper. Swap the arguments if reversed; adjust period numbers to fall within the loan term.
#DIV/0!rate is exactly 0. CUMIPMT's amortization formula divides by (1 + rate); when rate = 0, this creates a division-by-zero condition internally, even though mathematically zero interest should yield zero cost.Avoid a zero rate, or wrap the call in an IF: =IF(rate=0, 0, CUMIPMT(rate, nper, pv, start_period, end_period, type)). Alternatively, use a very small rate like 0.00001 as a workaround.
#VALUE!Any argument is text, a date serial, or a non-numeric type. For example, =CUMIPMT("1%", 12, 50000, 3, 6, 0) (text rate) or =CUMIPMT(0.01, 12, TODAY(), 3, 6, 0) (date as pv).Ensure all arguments are numbers. Convert text rates with VALUE() or manual division: =CUMIPMT(VALUE("1%")/100, 12, 50000, 3, 6, 0). Do not mix dates or other data types.

Tips and when to use something else

  • CUMIPMT returns a negative value because interest is a borrower's expense. Use =ABS(CUMIPMT(...)) to display the positive equivalent for reports or further calculations.
  • Periods are 1-indexed: a 12-month loan spans periods 1–12, not 0–11. Passing 0 or 13 as a period will error.
  • To find interest in a single period, set start_period = end_period (e.g., =CUMIPMT(0.01, 12, 50000, 6, 6, 0) for month 6 only). For more control per period, see IPMT.
  • For full amortization schedules, calculate PMT once, then loop IPMT and PPMT for each row; CUMIPMT is faster for large ranges because it sums directly rather than iterating.

Frequently asked questions

Why does CUMIPMT return a negative number?
In financial accounting, expenses are negative and income is positive. Interest is a cost to the borrower, so CUMIPMT reports it as negative. Use ABS(CUMIPMT(...)) to convert to positive for display or charts.
What's the difference between CUMIPMT and CUMPRINC?
CUMIPMT sums interest paid across a range of periods; CUMPRINC sums principal repaid. Together, they partition each payment: payment = IPMT + PPMT, and summed over a range: total payment = CUMIPMT + CUMPRINC.
Can I use CUMIPMT for mortgages, auto loans, and credit cards?
Yes. Any fixed-rate amortized loan works: mortgage, car loan, personal loan, or structured credit-card payment plan. Match the rate to the payment frequency (annual rate ÷ 12 for monthly, ÷ 4 for quarterly, etc.).
How do I find total interest over the entire loan?
Use =CUMIPMT(rate, nper, pv, 1, nper, type) to span all periods. Alternatively, calculate =(PMT(rate, nper, pv) × nper) - ABS(pv) to get total payments minus principal.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17