Excel's time-value-of-money toolkit lets an analyst move between lump sums, streams, and rates without leaving the spreadsheet. The workhorse is `=NPV(rate, value1, value2, ...)`, which discounts its first argument by one period, its second by two, and so on. A critical gotcha is that the period-zero outflow is not part of that discount ladder, so an analyst must list it separately — typically as `+ initial_investment` — for the formula to produce a true net present value. By contrast, `=PV(rate, nper, pmt, [fv], [type])` discounts a level annuity or single future sum, taking the annuity payment and number of periods rather than a vector of cash flows. Companion functions `=IRR(cashflows)` and `=XIRR(values, dates)` return the discount rate that drives net present value to zero, with XIRR accepting actual transaction dates rather than assuming equal periods; `=XNPV(rate, values, dates)` provides the same flexibility on the present-value side when cash flows arrive on irregular dates.
Several functions exist for solving a rate or a number of periods when the cash flow pattern is known. `=RATE(nper, pmt, pv, [fv], [type], [guess])` uses Excel's goal-seeking to back out the periodic interest rate of an annuity, while `=NPER(rate, pmt, pv, [fv], [type])` answers the inverse question — how many periods it takes to amortize a loan or reach a savings goal. `=EFFECT(nominal_rate, periods_per_year)` converts a nominal rate compounded n times per year into the effective annual rate that should be used for cross-product comparison. `=MIRR(cashflows, finance_rate, reinvest_rate)` refines IRR by replacing the unrealistic assumption that interim cash flows are reinvested at the IRR itself; instead, the modeler specifies separate borrowing and reinvestment rates that reflect how the firm actually deploys capital. The closed-form annuity present-value factor \(\frac{1 - (1+r)^{-n}}{r}\) is exactly what `=PV(rate, n, -1)` computes in one cell.
For loan and growth modeling, `=PMT(rate/12, n_months, -principal)` returns the periodic payment, where the sign of the principal is flipped so the result is a positive outflow. To break a single payment into its components, `=IPMT` and `=PPMT` produce the interest and principal share respectively for any period, and `=CUMIPMT` and `=CUMPRINC` aggregate those amounts across any window of periods — making it straightforward to populate an interest schedule or compute a cumulative tax shield. Compound growth uses the closed form \(\text{Principal} \cdot (1 + r/n)^{n t}\), but the equivalent `=FV(rate, nper, pmt, pv, type)` is usually faster and easier to audit. CAGR itself reduces to the simple identity \((E/S)^{1/n} - 1\), while an annuity-due pattern (payments at the start of each period) is achieved by passing 1 as the final argument of FV or PMT.