我正在处理具有两列(日期和金额)的矩阵。我想得到的是该行中的XIRR函数超过了某个百分比,即10%。
我一直在使用的代码如下
Dim Vaux1, Vaux2 As Range
Dim a, f As Integer
Dim e as Boolean
a = Range("W21", Range("W21").End(xlDown)).Rows.Count 'rows of arrray
Set Vaux1 = Range("W21", Range("W21").End(xlDown)) 'this has the dates
Set Vaux2 = Range("V21", Range("V21").End(xlDown)) 'this has the amounts
f = 0 'this will tell in which row XIRR exceeds a certain percentage
e = False
On Error Resume Next 'Sometimes XIRR shows #NUM! so if thats the case, move to next b
For b = 2 To a
If Application.WorksheetFunction. _
Xirr(Range(Vaux1(1), Vaux1(1).Cells(b)), _
Range(Vaux2(1), Vaux2(1).Cells(b))) > Range("AE4") And e = False Then
e = True
f = b
End If
Next b
在这种情况下,Range("AE42")
= 9%
在我的示例中,所有矩阵的XIRR为15%,但是我在f
中获得的值使我的矩阵的XIRR几乎为0%
此外,我不知道我是否正在使用On Error Next Resume
。我知道有时XIRR会显示#NUM!
,所以循环会停止,如果是这种情况,我想移至下一个索引。
提前谢谢