Brian Dunning's FileMaker Custom Functions

NPVV ( cashFlowsList ; interestRate )

Calculate Net Present Value of a value list (not a repeating field) of cash flows with a specified rate of return.

  Average rating: 4.8 (24 votes) Log in to vote

Lewis Lorenz   Lewis Lorenz - Show more from this author
Lorenz Companies

Share on Facebook Share on Twitter

  Sample input:
  Sample output:

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

NPVV ( cashFlowsList ; interestRate )

Created: 4-5-2013
Modified: 1-2-14
Author: Lewis C. Lorenz

Calculate Net Present Value of a value list of cash flows (cashFlowsList) with a specified rate of return (interestRate). Used to determine the present value of an investment by the discounted sum of all cash flows paid or received. Calculates Net Present Value from a value list instead of a repeating field that FileMaker Pro requires with its NPV function. Provides more flexibility and ease of use than the built-in function, with the same calculation results and similar speeds.

NPVV ( "-500000¶200000¶300000¶200000" ; .1 ) = 80025.0262960180315552
NPVV ( List ( -2000 ; 600 ; 300 ; 500 ; 700 ; 400 ) ; .05 ) = 164.7584131734254368
NPVV ( List ( -5000 ; 10000 ; 0 ; 10000 ; 10000 ) ; .1 ) = 18434.1916535755754388

DISCLAIMER: Using this NPVV function, several calculations were compared against the results obtained on other NPV calculators and the results matched. However, that does not guarantee a correct result in every operation of this custom function, so you assume this risk when you use it.

NOTICE: This is a recursive function. If you change the function name then also change it in the function code.



Log in to post comments.


Note: these functions are not guaranteed or supported by Please contact the individual developer with any questions or problems.

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 16 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth: