Quick Navigation
DDB Function
Summary
The DDB function calculates depreciation for an asset during a specific period using the double-declining balance method or a custom declining balance rate. This accelerated depreciation approach applies higher charges early in the asset's life, making it ideal for assets that lose value quickly.
Syntax
DDB(cost, salvage, life, period, [factor])
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| cost | number |
Yes | Initial purchase price of the asset |
| salvage | number |
Yes | Expected value at end of useful life (can be 0) |
| life | number |
Yes | Total number of periods over which asset depreciates |
| period | number |
Yes | Specific period number for depreciation calculation (same units as life) |
| factor | number |
No | Decline rate (defaults to 2.0 for double-declining balance) |
Using the DDB Function
Use DDB when you need to allocate higher depreciation expenses in early years of an asset's life. Perfect for equipment, vehicles, or technology that rapidly loses value. The function ensures depreciation never exceeds the depreciable basis (cost minus salvage).
Common DDB Examples
First Year Depreciation (Annual)
=DDB(2400, 300, 10, 1)
Calculates first year's depreciation for $2400 asset with $300 salvage over 10 years. Returns approximately $480.
First Month Depreciation
=DDB(2400, 300, 10*12, 1, 2)
Monthly depreciation for first month when life measured in months. Returns $40.
First Day Depreciation
=DDB(2400, 300, 10*365, 1)
Daily depreciation calculation for first day. Returns approximately $1.32.
Custom Decline Rate
=DDB(2400, 300, 10, 2, 1.5)
Second year using 1.5 factor instead of double-declining. Returns $306.
Final Year Depreciation
=DDB(2400, 300, 10, 10)
Tenth year depreciation automatically adjusts to remaining basis. Returns approximately $22.12.
Frequently Asked Questions
Common Errors and Solutions
#NUM! error
Cause: Non-numeric values or negative numbers in any argument
Solution: Ensure all inputs are positive numbers
#VALUE! error
Cause: Non-numeric data types passed to function
Solution: Verify cells contain valid numeric values
Unexpectedly low final period depreciation
Cause: Normal behavior - function protects remaining basis
Solution: This is correct; depreciation tapers naturally
Notes
- All arguments must be positive numbers
- Depreciation highest in period 1, declining thereafter
- Switch to VDB for straight-line crossover
- Factor > 2 accelerates depreciation more aggressively
- Factor = 1 produces straight-line depreciation
Compatibility
Available in: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Excel 365
Not available in:
Content last reviewed: December 9, 2025
Update frequency: As needed
Excel versions tested: Excel 2007+