Excel IRR公式,在不同的工作表上具有非连续范围
我刚刚意识到,可以通过将引用集合括在括号中(即=IRR((C18:C62,$B$1))来引用IRR excel公式中的非连续范围。这是一个有用的功能,但从各种尝试中,我得出结论,当范围引用包含另一个工作表/工作簿或当范围使用偏移函数构造时,它不起作用。是否有人知道解决此问题的方法或解决此问题的其他方法Excel IRR公式,在不同的工作表上具有非连续范围,excel,excel-formula,Excel,Excel Formula,我刚刚意识到,可以通过将引用集合括在括号中(即=IRR((C18:C62,$B$1))来引用IRR excel公式中的非连续范围。这是一个有用的功能,但从各种尝试中,我得出结论,当范围引用包含另一个工作表/工作簿或当范围使用偏移函数构造时,它不起作用。是否有人知道解决此问题的方法或解决此问题的其他方法 感谢您的帮助!IRR功能: Sytax:IRR(值,[猜测]) 假设数据在范围A1:A5和范围B1内,用于计算IRR 很明显,=IRR(A1:A5)将给出正确的结果。但是=IRR(A1:A5,B1
感谢您的帮助!IRR功能: Sytax:IRR(值,[猜测]) 假设数据在
范围A1:A5
和范围B1
内,用于计算IRR
很明显,=IRR(A1:A5)
将给出正确的结果。但是=IRR(A1:A5,B1)
使excel假定B1
作为语法状态是公式的[guess]
参数,因此给出的结果与=IRR(A1:A5)
相同。现在,如果在公式中添加另一个范围,如=IRR(A1:A5,B1,C1)
,excel将给出错误,说明输入的参数过多。。因此,对于非连续范围,所有范围都需要用括号括起来,如=IRR((A1:A5,B1))
(如您在问题中所述)。这使得excel将其解释为包含两个不同范围的单个参数
在IRR
中使用Offset
当使用偏移函数构造范围时,它不起作用
嗯,IRR
确实支持OFFSET
功能
=IRR(偏移量(A1,0,0,5))
与=IRR(A1:A5)
=IRR((偏移量(A1,0,0,5),偏移量(A1,0,1))
与=IRR((A1:A5,B1))
以上两个使用偏移量的公式将给出正确的结果
在IRR
中使用多张图纸的范围
当范围引用包含另一个工作表/工作簿时,它不起作用
当您在一个公式中使用不同的工作表时,这是正确的。但是,如果您仅引用一个工作表中的范围,并且与当前工作表(输入公式的工作表)不同,则IRR
函数将起作用。这意味着=IRR(Sheet2!A1:A5)
即使在表单1
中输入公式,也会给出所需的结果。但是,IRR
不允许在一个公式中使用多个工作表的范围。因此,=IRR((A1:A5,表单2!B1))
如果在表单1
中输入,则不正确
因此,要使用不同工作表中的多个范围,可以在VBA中使用UDF(用户定义函数)
Function IRR_DEMO(rng1 As Range, ParamArray rng2() As Variant) As Double
Dim elem As Variant
Dim i As Long, cntr As Long
Dim arr() As Double
ReDim arr(1 To rng1.count) As Double 'set size of arr as per rng1
cntr = 1
For Each elem In rng1 'first range
arr(cntr) = elem.Value 'put range values in array
cntr = cntr + 1
Next elem
For i = LBound(rng2) To UBound(rng2) 'all the ranges apart from first range and in rng2
ReDim Preserve arr(1 To UBound(arr) + rng2(i).count) As Double 'reset size of arr as per rng2(i)
For Each elem In rng2(i)
arr(cntr) = elem.Value 'put range values in array
cntr = cntr + 1
Next elem
Next i
IRR_DEMO = IRR(arr) 'use array in IRR
End Function
您可以将上述自定义项用作
=IRR_DEMO(A1:A5)
=IRR_DEMO(A1:A5,B1)
=IRR_DEMO(OFFSET(A1,0,0,5),OFFSET(A1,0,1))
=IRR_DEMO(Sheet2!A1:A5)
=IRR_DEMO(A1:A5,Sheet2!B1)
=IRR_DEMO(Sheet2!A1:A5,Sheet2!B1)
请参见图像以供参考
Sheet1
Sheet2