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 optionalfactor(default2). - Input constraints:
cost >= 0,salvage >= 0,life > 0,factor > 0, and1 <= trunc(period) <= life; violations return#NUM!. - Per-period rate is
factor / life. periodis truncated to an integer before calculation, matching Excel behavior.- Result is the period depreciation amount; with valid inputs above it is non-negative.
Examples
| Cell | Value | |
|---|---|---|
| No inputs on Sheet1. | ||
| Cell | Value | |
|---|---|---|
| No inputs on Sheet1. | ||
| Cell | Value | |
|---|---|---|
| No inputs on Sheet1. | ||
Related functions
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.
What happens with a fractional period?
period is truncated to an integer before calculation (e.g. 1.9 is treated as 1), matching Excel and DB behavior.
Runtime metadata
Category
Financial
Signature
DDB(arg1: Number, arg2: Number, arg3: Number, arg4: Number, arg5…: Number)Arity
min 4, max variadic
Arguments
arg1Number · Scalar · coercion NumberLenientText
arg2Number · Scalar · coercion NumberLenientText
arg3Number · Scalar · coercion NumberLenientText
arg4Number · Scalar · coercion NumberLenientText
arg5Number · Scalar · coercion NumberLenientText
Caps
Source