Formualizer Docs
ReferenceFunctionsFinancial Functions

DDB

DDB: Returns declining-balance depreciation for a period using a configurable acceleration factor.

Summary

DDB defaults to the double-declining method (factor = 2) and applies a salvage floor so book value does not fall below salvage.

Remarks

  • Parameters: cost, salvage, life, period, and optional factor (default 2).
  • Input constraints: cost >= 0, salvage >= 0, life > 0, period > 0, factor > 0, and period <= life; violations return #NUM!.
  • Per-period rate is factor / life.
  • This implementation processes the integer part of period and then blends with the next period for a fractional remainder.
  • Result is the period depreciation amount; with valid inputs above it is non-negative.

Examples

Default double-declining first period
Grid
CellValue
No inputs on Sheet1.
Formula
=
Result
Not evaluated yet.
Expected
4000
Using a custom factor
Grid
CellValue
No inputs on Sheet1.
Formula
=
Result
Not evaluated yet.
Expected
3000

FAQ

What does the optional factor control?

It sets the per-period declining rate as factor / life; 2 gives double-declining balance.

When does DDB return #NUM!?

Invalid non-positive inputs (life, period, factor), negative cost/salvage, or period > life.

Runtime metadata

Category

Financial

Signature

DDB(arg1: Number, arg2: Number, arg3: Number, arg4: Number, arg5…: Number)

Arity

min 4, max variadic

Arguments

arg1

Number · Scalar · coercion NumberLenientText

arg2

Number · Scalar · coercion NumberLenientText

arg3

Number · Scalar · coercion NumberLenientText

arg4

Number · Scalar · coercion NumberLenientText

arg5

Number · Scalar · coercion NumberLenientText

Caps

PURE

Source

On this page