>il mio problema � che se provo a calcolare il TIR con la funzione tir.cost
>di pi� di 60 flussi finanziari, excel non mi restituisce alcun risultato, ma
>#num!
>Io credo che si tratti di un limite di excel, ma volevo sapere se per caso
>c'� qualcosa che mi sfugge.
>Ho anche provato con l'office 2010 e l� non ho riscontrato lo stesso
>problema, solo che sul pc aziendale ho il 2007.
>La serie di flussi � la seguente se volete provare voi stessi:
Se come guess metti un valore tipo 0.2% ottieni 0.414%...
senza ottengo #NUM.
Con aiutino ce la fa :)
MAO
--
MAO web...@occupato.it (liberami x scrivermi)
Nuovo aritcolo, corri a leggerlo - classifica automatica http://www.riolab.org/index.php?view=article&id=207
"i troni sono stati creati per innalzare gli idioti" (KINA)
--
La funzione TIR.COST(range;ipotesi) restituisce un risultato approssimato
allo 0,00001%; se dopo 20 tentativi non lo trova restituisce l'errore #NUM!.
In questi casi occorre valorizzare il secondo argomento "ipotesi" con un
valore prossimo al risultato atteso in modo da limitare il numero delle
iterazioni.
Nel tuo caso ottieni un risultato se ad "ipotesi" attribuisci valori da 0,1%
a 7,0%, in quanto prossimi al risultato dello 0,4139% che restituisce la
funzione. Veramente mi viene difficile pensare che 7% sia un valore prossimo
al risultato, ma tant'è, funziona.
Ovviamente, nel definire "ipotesi" occorre andare per tentativi.
--
ciao paoloard
http://riolab.org
Questa funzione home-made non ha bisogno di suggerimenti, le basta il range:
*******************************************
Function TIRCOST(rng As Range)
Const Toll = 0.01
Dim n As Long
Dim I As Double, OldI As Double, TmpI As Double
Dim VA As Double, OldVa As Double
Dim cc As Range
For Each cc In rng
OldVa = OldVa + cc
Next
OldI = 0
I = -0.1 * Sgn(OldVa)
Do
VA = 0
n = 0
For Each cc In rng
n = n + 1
VA = VA + cc * (1 + I) ^ -n
Next
If Abs(VA - OldVa) < Toll Then Exit Do
TmpI = I
I = I - VA * (I - OldI) / (VA - OldVa)
OldVa = VA
OldI = TmpI
Loop
TIRCOST = I
End Function
*******************************************
'notte,
E.