XIRR & non-Contiguous Values?

B

bluepost22

I know IRR works with non-continguous values, but I can't
get XIRR to work. Here's what I'm doing:

=XIRR((B1,B5), (A1,A5), 0.07)

A B
1/21/2005 -750
-
-
-
12/31/2005 795

I get #VALUE! IRR works on the same cells, minus
the date arguments of course.

Bob
 
B

bluepost22

In this case I only have two dates and two values which
are not located in adjacent cells in the spreadsheet. This
is supposed to work in IRR, and it does, but I can't get
it to work in XIRR. I can do:

IRR((A1,A5), .07)

Bob
 
B

Bucky

In this case I only have two dates and two values which
are not located in adjacent cells in the spreadsheet.

Sorry, misunderstood the original question. Hmm, doesn't look like XIRR
works with non-contiguous cells.
 
V

vandenberg p

Hello:

Works for me, either way.

A B
1: -100 3/17/2006
2:
3:
4:
5: 120 3/17/2007
6: 0.200000001
7: 0.200000001

Formula in b6 and b7

6: =XIRR((A1:A5), (B1:B5),0.07)
7: =XIRR(A1:A5,B1:B5,0.07)


Pieter Vandenberg


: (e-mail address removed) wrote:
:> In this case I only have two dates and two values which
:> are not located in adjacent cells in the spreadsheet.
: Sorry, misunderstood the original question. Hmm, doesn't look like XIRR
: works with non-contiguous cells.
 
B

bluepost22

It wouldn't work if you put random stuff in A2, A3, B2, B3 etc,
would it? I'm trying to get XIRR to pay attention only to
rows 1 and 5 . . .
 
R

Ron Rosenfeld

I know IRR works with non-continguous values, but I can't
get XIRR to work. Here's what I'm doing:

=XIRR((B1,B5), (A1,A5), 0.07)

A B
1/21/2005 -750
-
-
-
12/31/2005 795

I get #VALUE! IRR works on the same cells, minus
the date arguments of course.

Bob

XIRR will not work with non-contiguous values for dates or values (unless there
are only blanks between them).

However, Harlan Grove wrote a UDF which will, if you NAME the non-contiguous
ranges.

<alt-F11> opens the VB Editor.

Ensure your project is highlighted in the project explorer window. Then,
Insert/Module and paste the code below into the window that opens.

Read the comments in the UDF.

You can then use it as =myxirr(values, dates, guess)

===========================
Function myxirr( _
v As Variant, _
d As Variant, _
Optional g As Double = 0 _
) As Variant
'-------------------------------------------------------
'this udf requires an explicit reference to APTVBAEN.XLA
'if v and/or d represent non-contiguous ranges, they should be NAME'd
'-------------------------------------------------------
Dim vv As Variant, dd As Variant, X As Variant, i As Long

If TypeOf v Is Range Then
ReDim vv(1 To v.Cells.Count)
i = 0
For Each X In v
i = i + 1
vv(i) = X.Value
Next X
Else
vv = v
End If

If TypeOf d Is Range Then
ReDim dd(1 To d.Cells.Count)
i = 0
For Each X In d
i = i + 1
dd(i) = X.Value
Next X
Else
dd = d
End If

myxirr = IIf(g <> 0, xirr(vv, dd, g), xirr(vv, dd))
End Function
===========================


--ron
 
V

vandenberg p

The real question is why would you expect that to work.

Pieter Vandenberg

(e-mail address removed) wrote:
: It wouldn't work if you put random stuff in A2, A3, B2, B3 etc,
: would it? I'm trying to get XIRR to pay attention only to
: rows 1 and 5 . . .

: vandenberg p wrote:
:> Hello:
:>
:> Works for me, either way.
:>
:> A B
:> 1: -100 3/17/2006
:> 2: foo xx
:> 3: bar yy
:> 4: itsit zz
:> 5: 120 3/17/2007
:> 6: 0.200000001
:> 7: 0.200000001
:>
:> Formula in b6 and b7
:>
:> 6: =XIRR((A1:A5), (B1:B5),0.07)
:> 7: =XIRR(A1:A5,B1:B5,0.07)
:>
:>
:> Pieter Vandenberg
:>
:>
:> : (e-mail address removed) wrote:
:> :> In this case I only have two dates and two values which
:> :> are not located in adjacent cells in the spreadsheet.
:> : Sorry, misunderstood the original question. Hmm, doesn't look like XIRR
:> : works with non-contiguous cells.
 
B

Bucky

vandenberg said:
The real question is why would you expect that to work.

Like the OP said in the original post, IRR works with noncontiguous
cells, so why not XIRR?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top