0% found this document useful (0 votes)
202 views7 pages

Problems With XIRR and XNPV

The document describes problems with the XNPV and XIRR functions in Excel when used with zero or negative discount rates. It presents a quick fix for XNPV that uses an IF statement to check the discount rate and sum the cash flows if it is zero. It also introduces new functions, nXNPV and nXIRR, that fix the problems with negative or zero rates for both NPV and IRR calculations. A data table is included to show the nXNPV result varies correctly across a range of discount rates including negative values.

Uploaded by

realit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLS, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
202 views7 pages

Problems With XIRR and XNPV

The document describes problems with the XNPV and XIRR functions in Excel when used with zero or negative discount rates. It presents a quick fix for XNPV that uses an IF statement to check the discount rate and sum the cash flows if it is zero. It also introduces new functions, nXNPV and nXIRR, that fix the problems with negative or zero rates for both NPV and IRR calculations. A data table is included to show the nXNPV result varies correctly across a range of discount rates including negative values.

Uploaded by

realit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLS, PDF, TXT or read online on Scribd
You are on page 1/ 7

A

PROBLEM WITH XNPV


XNPV does not work with zero or negative
1
2 Discount rate
0.00%
3 Net present value
#NUM! <-- =XNPV(B2,B6:B12,A6:A12)
4
5
Date
Cash flow
6
30-Jun-07
-500
7
14-Feb-08
100
8
14-Feb-09
300
9
14-Feb-10
400
10
14-Feb-11
600
11
14-Feb-12
800
12
14-Feb-13
-1,800

discount rates

1
2 Discount rate
0.00%
3 Net present value
-100.00
4
5
Date
Cash flow
6
30-Jun-07
-500
7
14-Feb-08
100
8
14-Feb-09
300
9
14-Feb-10
400
10
14-Feb-11
600
11
14-Feb-12
800
12
14-Feb-13
-1,800

QUICK FIX FOR XNPV

C
1
QUICK FIX FOR XNPV
2
3 <-- =IF(B2>0,XNPV(B2,B6:B12,A6:A12),IF(B2=0,SUM(B6:B12),"neg rate"))
4
5
6
7
8
9
10
11
12

1
PROBLEMS WITH XIRR
2 Discount rate
22.00%
3 Net present value 65.16366 <-- =XNPV(B2,B9:B15,A9:A15)
4 IRR
#NUM! <-- =XIRR(B9:B15,A9:A15,B17) , no Guess
5
#NUM! <-- =XIRR(B9:B15,A9:A15,35%), Guess = 35%
6
#NUM! <-- =XIRR(B9:B15,A9:A15,5%) , Guess = 5%
7
8
Date
Cash flow
9
30-Jun-07
-500
10
14-Feb-08
100
11
14-Feb-09
300
12
14-Feb-10
400
13
14-Feb-11
600
14
14-Feb-12
800
15
14-Feb-13
-1,800
16
17
XNPV as Function of Discount rate
80
18
60
19
20
40
21
20
22
23
0
24
0% 3% 6% 9% 12% 15% 18% 21% 24% 27% 30% 33% 36% 39% 42%
25
-20
26
-40
27
28
-60
29
-80
30
31
-100
32
-120
33
34

Data table: XNPV as functio


Rate
0.1%
2.5%
4.9%
7.3%
9.7%
12.1%
14.5%
16.9%
19.3%
21.7%
24.1%
26.5%
28.9%
31.3%
33.7%
36.1%
38.5%
40.9%

E
1
2
3
4
5
6
7
Data table:
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

XNPV as function of discount rate


65.16366 <-- =B3, data table header
-97.3624
-42.6661
-2.16665
27.01911
47.1889
60.17937
67.46241
70.22025
69.40436
65.78163
59.97099
52.47234
43.6896
33.94914
23.51448
12.59813
1.37118
-10.029

FIXING PROBLEMS WITH XNPV AND XIRR


The new functions are called NXNPV and NXIRR

1
2 Discount rate
-3.00%
3 Net present value -195.026 <-- =nXNPV(B2,B9:B15,A9:A15)
4 IRR
5.05% <-- =nXIRR(B9:B15,A9:A15,B17) , no Guess
5
38.79% <-- =nXIRR(B9:B15,A9:A15,35%), Guess = 35%
6
5.05% <-- =nXIRR(B9:B15,A9:A15,5%) , Guess = 5%
7
8
Date
Cash flow
9
30-Jun-07
-500
10
14-Feb-08
100
11
14-Feb-09
300
12
14-Feb-10
400
13
14-Feb-11
600
14
14-Feb-12
800
15
14-Feb-13
-1,800
16
17
XNPV as Function of Discount rate
80
18
60
19
20
40
21
20
22
23
0
24
0% 3% 6% 9% 12% 15% 18% 21% 24% 27% 30% 33% 36% 39% 42%
25
-20
26
-40
27
28
-60
29
-80
30
31
-100
32
-120
33
34

Data table: XNPV as functio


Rate
0.0%
2.5%
4.9%
7.3%
9.7%
12.1%
14.5%
16.9%
19.3%
21.7%
24.1%
26.5%
28.9%
31.3%
33.7%
36.1%
38.5%
40.9%

1
2
3
4
5
6
7
Data table:
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

XNPV as function of discount rate


-195.026 <-- =B3, data table header
-100
-42.6661
-2.16665
27.01911
47.1889
60.17937
67.46241
70.22025
69.40436
65.78163
59.97099
52.47234
43.6896
33.94914
23.51448
12.59813
1.37118
-10.029

You might also like