VDB Function

Excel 2007+

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

Defaults to 2.0 (double-declining balance method)

Automatically when straight-line gives higher depreciation, unless no_switch=TRUE

Yes, by setting life in days (e.g., 10*365 for 10 years)

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+