Quick Navigation
VDB Function
Summary
The VDB function calculates depreciation for any specified period using the variable declining balance method. Unlike fixed-period functions, VDB handles partial periods and customizable depreciation rates, making it ideal for precise financial reporting and tax calculations.
Syntax
VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch])
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| cost | Number |
Yes | Initial cost of the asset |
| salvage | Number |
Yes | Value at end of depreciation (salvage value) |
| life | Number |
Yes | Total useful life in same units as periods |
| start_period | Number |
Yes | Starting period for depreciation calculation |
| end_period | Number |
Yes | Ending period for depreciation calculation |
| factor | Number |
No | Decline rate (2 = double-declining balance) |
| no_switch | Boolean |
No | TRUE prevents switching to straight-line |
Using the VDB Function
VDB excels in scenarios requiring precise depreciation schedules across custom periods. Use it for assets purchased mid-period, fiscal year-end reporting, or when tax regulations specify unique depreciation factors.
Common VDB Examples
First Day Depreciation
=VDB(2400, 300, 10*365, 0, 1)
Calculates depreciation for first day of asset with 10-year life ($1.32) using double-declining balance
Monthly Depreciation
=VDB(2400, 300, 10*12, 0, 1)
First month's depreciation using monthly periods ($40.00)
Annual Depreciation
=VDB(2400, 300, 10, 0, 1)
First full year's depreciation ($480.00)
Custom Period Range
=VDB(2400, 300, 10*12, 6, 18)
Depreciation from month 6 to 18 ($396.31)
Custom Factor
=VDB(2400, 300, 10*12, 6, 18, 1.5)
Same period with 150% declining balance ($311.81)
Fiscal Year Partial
=VDB(2400, 300, 10, 0, 0.875, 1.5)
First fiscal year (87.5%) with 150% factor ($315.00)
Frequently Asked Questions
Common Errors and Solutions
#NUM! or #VALUE!
Cause: Non-positive values for cost, salvage, life, periods (except no_switch)
Solution: Ensure all numeric arguments except no_switch are positive
Inconsistent period units
Cause: start_period > end_period or units mismatch with life
Solution: Verify period logic and consistent time units
Notes
- All arguments except no_switch must be positive numbers
- start_period must be ≤ end_period
- Perfect for mid-year asset acquisitions
- Combines power of DDB with period flexibility
Compatibility
Available in: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365
Not available in: Excel 2003 and earlier
Content last reviewed: December 9, 2025
Update frequency: As needed
Excel versions tested: Excel 2007+