Skip to main content
Home / Spreadsheet functions

Reproduce the model

Use the function that matches the timing

Spreadsheet parity begins with the same inputs and convention. A matching function name cannot repair a mismatched t=0 or date schedule.

Periodic cash flows

For cash flows −1000, 400, 400 and 400 and a 10% period rate, the site’s explicit t=0 model is -1000 + 400/(1+10%) + 400/(1+10%)^2 + 400/(1+10%)^3. In Excel, the corresponding structure is commonly =-1000 + NPV(10%,400,400,400) because Microsoft documents NPV values as end-of-period cash flows.

For a periodic return root, use =IRR({-1000,400,400,400}) and confirm that the resulting rate makes the explicit NPV close to zero. An IRR result is not sufficient when cash-flow signs change more than once.

Dated cash flows

Use XNPV or XIRR when actual dates matter. Match every value with a date, retain the initial date and do not sort values separately from dates. Microsoft XNPV documentation and Microsoft XIRR documentation are the responsible function references used by this model family.

Site modelExcel-style equivalentParity check
Periodic NPV with t=0=initial + NPV(rate, later_flows)Same period rate and equal intervals
Periodic IRR=IRR(all_flows)Result drives explicit NPV to zero; diagnose multiple roots
Dated XNPV=XNPV(rate, values, dates)Same dates and day-count convention
Dated XIRR=XIRR(values, dates)Result drives XNPV to zero; do not hide convergence failure
MIRR=MIRR(values, finance_rate, reinvest_rate)Both rates are explicit and independently justified
Parity is evidence, not decoration. Store the inputs, expected result, spreadsheet function and precision with each published example.