I have the following numbers/dates in an excel sheet A1

3
1/1/2007 1/1/2008 1/1/2009 1/1/2010
$ (10) $ 1
$ 2 $ 20
I want to run an XIRR on the entire stream, something to the effect of XIRR(A2:B2&C3

3,A1

1)
This will not work. I could create a 4th row that sums rows 2 and 3 and do XIRR(A4

4,A1

1) but I have literally 1000 of these and for reasons too long to explain here, do not want to/can not do that way.
Any way to run on XIRR on A1

3 without creating a new summed row?
Thanks
I'm not sure exactly what you mean, but XIRR requires that the dates be in a
contiguous range; and that the values be in a contiguous range. (The values
don't need to be next to the dates, however).
It is also a requirement that there be one date for each value (and one value
for each date).
So you need to set up an area on your worksheet where you have a layout that
meets those requirements.
Alternatively, you could NAME the non-contiguous range of dates; and the range
of values, and use this VBA user defined function supplied by Harlan Grove:
==========================================
Option Explicit
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