Desafortunadamente money.SE no soporta MathJax como lo hace math.SE, pero trataré de explicarlo de todos modos. Consideremos primero el escenario de pago nivelado. Supongamos que K es la cantidad inicial de la inversión, L es el pago anual nivelado (a plazos, es decir, que se produce al final de cada año), y AV es el valor acumulado deseado. Supongamos además que los intereses se acumulan a un tipo de interés efectivo anual del i%. Entonces la ecuación de valor es
K(1+i)^n + L((1+i)^n - 1)/i = AV,
y el objetivo es resolver esta ecuación para n. Esto nos da
n = (log(L + i AV) - log(L + i K))/log(1 + i).
Para tu caso, esto da n = 16,3 años, no 23 años como muestra tu cálculo. La razón es que tu elección de signos es incorrecta: la sintaxis correcta debería ser:
NPER(i, -L, -K, AV)
porque ya tienes K en el ahorro, estás aportando L al fondo, y el valor acumulado (futuro) de éste es positivo al final del plazo. Si el tercer argumento es positivo, esto representa un saldo pendiente de un préstamo, en lugar de una cantidad ya invertida; dicho de otro modo, en su esquema de inversión, el fondo le está pagando los intereses, no al revés, por lo que el segundo y el tercer argumento deben ser negados.
También se puede confirmar haciendo un simple cálculo con i = 10%, y pagos de L = 10 al año sumados a una inversión inicial de K = 100. Al cabo de 2 años, deberías tener
AV = 100(1.1)^2 + 10(1.1) + 10 = 142.
Pero si utiliza NPER(i, L, -K, -AV)
se obtiene un error.
Ahora veamos el escenario de pago no nivelado. En este caso, supongamos que los pagos regulares al fondo de inversión aumentan un j% al año. Es decir, el primer pago es L, el segundo es L(1+j), el tercero es L(1+j)^2, y así sucesivamente. Entonces queda claro que la parte del flujo de caja correspondiente a la anualidad tiene un valor acumulado
L(1+i)^(n-1) + L(1+j)(1+i)^(n-2) + L(1+j)^2 (1+i)^(n-3) + ...
es decir, podemos sacar un factor común de L(1+j)^(n-1), y definir una nueva tasa efectiva r = ((1+i)/(1+j)) - 1:
L(1+j)^(n-1) ((1+r)^(n-1) + (1+r)^(n-2) + ... + (1+r) + 1).
Por lo tanto, la ecuación de valor es
K(1+i)^n + L(1+j)^(n-1) ((1+r)^n - 1)/r = AV
o de forma equivalente,
K(1+i)^n + L((1+i)^n - (1+j)^n)/(i-j) = AV, j not equal to i,
K(1+i)^n + n L (1+i)^(n-1) = AV, j = i.
Cabe mencionar que en esta segunda forma, encontramos que recuperamos fácilmente la fórmula del escenario de pagos a nivel fijando j = 0.
Desgraciadamente, no es posible una solución exacta de forma cerrada para esta ecuación para n; podemos utilizar métodos numéricos para obtener la solución para ciertas elecciones de K, L, i, AV y j. Para tus elecciones específicas, estoy obteniendo los siguientes valores de n para varias elecciones de j:
j = 0.01: n = 15.8139
j = 0.02: n = 15.3405
j = 0.03: n = 14.8875
j = 0.04: n = 14.4557
j = 0.05: n = 14.0452
j = 0.06: n = 13.6557
j = 0.07: n = 13.2866
j = 0.08: n = 12.9374
j = 0.09: n = 12.6069
j = 0.10: n = 12.2944
j = 0.15: n = 10.9653
j = 0.20: n = 9.94298
j = 0.25: n = 9.13903
j = 0.30: n = 8.49240
j = 0.35: n = 7.96161
j = 0.40: n = 7.51813.