'Excel XIRR Function returning invalid calculation
When running the XIRR function "=XIRR(G163:G168,F163:F168)" where the cashflow is in G163:G168 and my dates are in F163:F168, excel is returning a value of .000000298023% which is definitely not correct. Any advise would be greatly appreciated!
9/13/2019 (2,137,500.00)
9/13/2019 (1,710,000.00)
9/13/2019 (35,331,814.80)
9/13/2019 (931,950.00)
9/13/2019 (14,990,988.60)
9/30/2020 45,757,426.80
Solution 1:[1]
The technique that Excel uses can return multiple values, depending on the initial assumption of rate. Since you left it unspecified, it assumes 10%.
If you add -10% as the optional guess
argument, it will return 16.23%.
There are a couple of ways to come up with a reasonable guess if XIRR is giving a wrong answer, but here's one:
- Negative 10% for negative values:
0.1*sign(sum(values))
Solution 2:[2]
The answer submitted by Ron Rosenfeld is accurate but there are more, subtle details I think are worth pointing out.
- The
0.000000298023
value the asker identified as "definitely not correct" is a well known erroneous value produced by the ExcelXIRR
function. However, it is more commonly referred to as2.98023E-09
. - With reference to the official documentation, Jon Coleman commented that the first value is treated specially. This is a property of the concept more than Excel's implementation of the
XIRR
function; the first value usually represents something like a starting balance, which is also why the documentation says that value must be negative. - The last value usually represents a final balance and will have the oppposite sign of the first value. This is also a property of the concept, not the implementation.
- Technically, the actual signs used don't matter but they must be used consistently throughout: one sign for inflows, the other sign for outflows. By convention, inflows are negative and outflows are positive.
- The
XIRR
function sometimes has trouble with out-of-order values, though I don't have details on this. - Besides the first and last values, the
XIRR
function seems to handle multiple cash flows on the same date. Summing by date may still be beneficial for execution time (I don't know) but it will definitely be correct according to the equation.
In this instance, Excel can apparently be pointed in the right direction with a guess
value of -10%
. However, it follows from point #2 that splitting the "first" cash flow into multiple cash flows on the same day hinder's Excel's XIRR
function. Indeed, with the dataset
2019-09-13 -55,102,253.40
2020-09-30 45,757,426.80
Excel's XIRR
function determines the expected -16.23%
without supplying a manual guess
.
See also: Microsoft Community support question.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | mkjeldsen |