Función SYD
Devuelve un valor Double que especifica la depreciación de la suma de años de un activo para un período determinado.
Sintaxis
SYD(cost, salvage, life, period)
La función SYD tiene estos argumentos con nombre:
Parte | Descripción |
---|---|
costar | Obligatorio. Valor Double que especifica el coste inicial del activo. |
salvamento | Obligatorio. Valor Double que especifica el valor del activo al final de su vida útil. |
vida | Obligatorio. Valor Double que especifica la longitud de la vida útil del activo. |
periodo | Obligatorio. Valor Double que especifica el período para el que se calcula la depreciación del activo. |
Comentarios
Los argumentoslife y period deben expresarse en las mismas unidades. Por ejemplo, si life se proporciona en meses, period también debe indicarse en meses. Todos los argumentos deben ser números positivos.
Ejemplo
En este ejemplo se usa la función SYD para devolver la depreciación de un activo durante un período especificado dado el costo inicial del activo (InitCost
), el valor de recuperación al final de la vida útil del activo (SalvageVal
) y la vida total del activo en años (LifeTime
). El período en años para el que se calcula la depreciación es PDepr
.
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDepr
Const YEARMONTHS = 12 ' Number of months in a year.
Fmt = "###,##0.00" ' Define money format.
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("What's the asset's value at the end of its life?")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YEARMONTHS ' Ensure period is >= 1 year.
MsgBox "Asset life must be a year or more."
MonthLife = InputBox("What's the asset's useful life in months?")
Loop
LifeTime = MonthLife / YEARMONTHS ' Convert months to years.
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
LifeTime = Int(LifeTime + 1) ' Round up to nearest year.
End If
DepYear = CInt(InputBox("For which year do you want depreciation?"))
Do While DepYear < 1 Or DepYear > LifeTime
MsgBox "You must enter at least 1 but not more than " & LifeTime
DepYear = CInt(InputBox("For what year do you want depreciation?"))
Loop
PDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & Format(PDepr, Fmt) & "."
Vea también
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.