在Excel中,我想計算項目的XIRR。
我的付款分爲兩個單獨的範圍。
但XIRR功能(和其他)接受單個範圍作爲參數。
如何合併函數參數中的範圍? 喜歡的東西,因爲這合併/混合單元格作爲公式參數的範圍
=XIRR(MixRanges(a1:a4,d1:d2), MixRanges(b1:b4,e1:e2))
感謝您的任何建議
在Excel中,我想計算項目的XIRR。
我的付款分爲兩個單獨的範圍。
但XIRR功能(和其他)接受單個範圍作爲參數。
如何合併函數參數中的範圍? 喜歡的東西,因爲這合併/混合單元格作爲公式參數的範圍
=XIRR(MixRanges(a1:a4,d1:d2), MixRanges(b1:b4,e1:e2))
感謝您的任何建議
我試圖不使用UDF,但我不能圖發出一個聰明的內置函數來使用。
將此代碼添加到您的工作簿:
Option Explicit
Public Function MergeRange(ParamArray rng()) As Single()
Dim i As Long
Dim count As Long
Dim r As Excel.Range
Dim s() As Single
For i = LBound(rng) To UBound(rng)
If (TypeOf rng(i) Is Excel.Range) Then
For Each r In rng(i)
ReDim Preserve s(count)
s(count) = r.Value
count = count + 1
Next r
End If
Next i
MergeRange = s
End Function
並使用它像這樣:
=XIRR(MergeRange(A2:A6,D2:D6),MergeRange(B2:B6,E2:E6),0.1)
這將接受多個範圍,抓住他們的價值觀,作爲一個連續的返回值陣列。由於XIRR需要值和日期,因此使用Single
數據類型應該沒問題。
爲了您的具體的例子,你可以使用CHOOSE
,即
=XIRR(CHOOSE({1,2,3,4,5,6},A1,A2,A3,A4,D1,D2),CHOOSE({1,2,3,4,5,6},B1,B2,B3,B4,E1,E2))
但可能不容易擴展爲更大範圍......
使用Choose():) +1我幾乎從來沒有找到一種方式來使用它 –
我不知道XIRR,但我試圖做與RANK.EQ
相同,我發現所有需要的是括號,即=RANK.EQ(J6,(J$6:$J$999,S$6:$S$999),0)
。
謝謝,偉大的意見。效果很好 –