Contact

ISPMT Function (Gnumeric)

Financial Intermediate Gnumeric Gnumeric 0.33–0.35 (grouped release notes)

Calculate ISPMT interest in Gnumeric from its actual period convention. Compare the straight-line principal model, signed results and integer period conversion.

Verification status: See the evidence and test scope described in this guide. How formula examples are checked

Quick answer: =ISPMT(0.1,1,5,10000) has the reference result -800 under the Gnumeric 1.12.62 implementation. The calculations here are source-derived checks, not observed native worksheet results.

Availability and version history

  • Introduced: Recorded as implemented in the grouped Gnumeric 0.33, 0.34 and 0.35 release notes. Those notes do not isolate which of the three releases first contained it, so the precise first version and release date remain unestablished.
  • Documented support: Registered in Gnumeric 1.12.62 in the Financial Functions plugin. No retirement is established.
  • Last functioning version: Unverified for this guide. Source registration and independent arithmetic do not certify a running application version.
  • Scope: English function names and comma-separated formulas. The cached source comes from the October 13–14, 2026 audit; the full guide and reference calculations were checked on October 15, 2026.

What ISPMT calculates

The inspected Gnumeric formula is -pv*rate*(1-per/nper) after integer conversion of the period arguments. This describes interest against a principal balance that declines linearly. It is distinct from a level-total-payment amortization calculation. A positive principal and positive rate produce a negative interest amount before the final zero period.

Function-specific help and complete worksheet callback establish the operation described here.

Syntax and arguments

=ISPMT(rate,per,nper,pv)
  • rate: Interest rate per modeled period, entered as a decimal or percentage.
  • per: Subject period; the inspected callback converts it to an integer.
  • nper: Total number of periods, also converted to an integer.
  • pv: Present value or principal. All four arguments are required.

The argument registration and callback were inspected together. A familiar function name in another spreadsheet is not a guarantee of the same input guards.

Reproducible worksheet

Put principal 10000 in B2, rate 10% in B3 and total periods 5 in B4. Enter 1 through 5 in A8:A12. In B8 enter =ISPMT($B$3,A8,$B$4,$B$2) and fill down. The reference interest amounts are -800, -600, -400, -200 and 0. Their magnitudes correspond to principal balances 8000, 6000, 4000, 2000 and zero.

The period convention matters: the first accepted period uses the balance after one-fifth of principal has been removed, not the original 10000. Trying period zero does not obtain an initial interest payment in this implementation; it triggers the period guard. Match the schedule you intend before interpreting the amount as a payment due.

Formula checks

These are independently calculated expected results from the pinned callback, with repeating or irrational values rounded to twelve decimal places. Error labels follow explicit source guards. They are not screenshots or native execution results.

Formula Expected reference result
=ISPMT(0.1,1,5,10000) -800
=ISPMT(0.1,2,5,10000) -600
=ISPMT(0.1,3,5,10000) -400
=ISPMT(0.1,4,5,10000) -200
=ISPMT(0.1,5,5,10000) 0
=ISPMT(0.1,2.9,5,10000) -600
=ISPMT(0.1,2,5,-10000) 600
=ISPMT(0,2,5,10000) 0
=ISPMT(0.1,0,5,10000) #NUM!
=ISPMT(0.1,6,5,10000) #NUM!

Advanced application and cross-check

For the five-period example, the total reference interest is -2000. With a positive integer nper, summing the accepted period formulas gives -pv*rate*(nper-1)/2. This identity is a useful independent check on a filled-down range. It does not include any principal repayments, fees or a day-count convention.

Changing principal to -10000 reverses the signs. A zero rate gives zero for a valid period. If periods are months, use a monthly rate consistent with the model. Dividing a nominal annual rate by twelve and converting an effective annual rate to a monthly rate are different assumptions; choose the one the underlying model specifies.

Errors, boundaries and troubleshooting

Gnumeric’s help labels rate as an effective annual rate, but the callback has no frequency conversion. The arithmetic uses the rate directly. A year-based model can use an annual rate; a month-based model must supply the intended monthly rate. Do not rely on a header or number format to change this.

The source converts per and nper through its integer helper, then requires 1 <= per <= nper. For ordinary positive inputs away from floating-point boundaries, 2.9 behaves as period 2; this is a source-derived expectation, not a native coercion test. The helper uses Gnumeric’s near-integer truncation routine, so these statements do not establish every extreme or near-integer rounding case. Use explicit integral periods. Invalid period 0 or period 6 with nper 5 yields #NUM! in the inspected callback.

For period integer conversion, see value_get_as_int.

Use actual numeric input cells for this fixture. Native handling of blank cells, numeric text, application-localized formula entry and display formatting was not executed here. Keep missing values distinct from deliberately supplied zero; using ISNUMBER to inspect inputs can prevent a text-formatted amount from being mistaken for a verified numeric fixture. The tables do not claim a particular result for untested coercions.

Evidence and verification limits

This guide uses the official pinned Gnumeric 1.12.62 source and independent reference arithmetic. It does not claim native execution, GUI validation, current-release parity or cross-product equivalence. The cached source date and the editorial checking date above describe separate activities. For an operational workbook, compare a small copy of this fixture with the installed version before relying on an imported schedule.

IPMT, PMT, PV.