Skip to main content
Skip table of contents

Finance functions

Overview

Use this category when you need standard financial calculations such as present value, future value, annuity payments, discounting, and investment appraisal.

These functions are typically used for cash flow modeling, financing schedules, valuation, and depreciation.

Start here if…

  • You want to discount cash flows, for example with NPV or PV.

  • You want an investment return metric, for example IRR.

  • You want annuity-style calculations such as payments, periods, or rate.

  • You need depreciation logic per period.

Not here if…


Mental model

  • Most finance functions assume a rate per period and a time series of payments or cash flows.

  • Results are sensitive to:

    • the time granularity, for example month vs year

    • the sign convention, for example inflows vs outflows

    • whether inputs are complete, since missing values can break calculations


Common patterns

Discount a series of cash flows
NPV('DiscountRate', 'CashFlow')
Use when you want net present value at a discount rate.

Compute internal rate of return
IRR('CashFlow')
Use when you want the discount rate that sets NPV to zero.

Calculate a periodic payment
PMT('Rate', 'Periods', 'PresentValue')
Use when you want annuity payments such as loan repayment, leasing, or savings plans.

Solve for number of periods
NPER('Rate', 'Payment', 'PresentValue')
Use when rate and payment are known and you want the duration.

Solve for the rate
RATE('Periods', 'Payment', 'PresentValue', …)
Use when periods and payments are known and you need the implied interest rate.

Compute present value
PV('Rate', 'Periods', 'Payment', …)
Use when you want to discount an annuity-like stream into a present value.

Compute future value
FV('Rate', 'Periods', 'Payment', …)
Use when you want to project an annuity-like stream into the future.

Model depreciation per period
DEPRECIATION('InitialValue', 'DepreciationTime')
Use when you want straight-line depreciation over time.


Functions in this category

Function

Description

NPV

Calculates net present value from a discount rate and a series of cash flows.

IRR

Calculates the internal rate of return for a series of cash flows.

PV

Calculates present value from rate, periods, and payment inputs.

FV

Calculates future value from rate, periods, and payment inputs.

PMT

Calculates the periodic payment for an investment based on rate and periods.

NPER

Calculates the number of periods based on rate, payment, and present value.

RATE

Solves for the interest rate per period based on periods and payments.

DEPRECIATION

Calculates straight-line depreciation per period from an initial value and depreciation time.


Choosing between similar functions

NPV vs PV

  • Use NPV to discount a cash flow series into a single net present value.

  • Use PV for present value of an annuity-style stream with structured parameters.

IRR vs NPV

  • Use NPV when the discount rate is known and you want the value.

  • Use IRR when the value target is NPV = 0 and you want the implied rate.

PMT vs PV/FV

  • Use PMT when you want the periodic payment.

  • Use PV or FV when you want present or future value given payment and rate.

NPER vs RATE

  • Use NPER when the rate is known and you want the number of periods.

  • Use RATE when the number of periods is known and you want the implied rate.


Pitfalls & troubleshooting

  • Rate scaling errors: if results are off by a large factor, confirm your rate is per period, for example monthly vs yearly.

  • IRR instability: IRR needs cash flows with at least one sign change (mix of inflows and outflows).

  • Missing values: if results are missing, check whether inputs are missing at the same intersections.

  • Too much dimensionality: if cash flow nodes have extra dimensions such as Product or Region, validate one representative slice first before rolling up.

  • Depreciation timing mismatch: if depreciation looks shifted, confirm that depreciation time aligns with your project’s time granularity.


Related sections

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.