Financial

VDB Function in Excel

Returns the depreciation of an asset using a variable declining balance method.

Syntax

  • =VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch])

Arguments

  • cost (required): Initial cost
  • salvage (required): Salvage value
  • life (required): Useful life
  • start_period (required): Starting period
  • end_period (required): Ending period
  • factor (optional): Depreciation factor (default 2)
  • no_switch (optional): TRUE to not switch to straight-line

Examples

  • =VDB(2400, 300, 10, 0, 1) - First year depreciation - Result: 480

VDB modeling tips

  • Align rate and period units (annual rate ÷ 12 for monthly models).
  • Use consistent cash-flow signs (outflows negative, inflows positive).
  • Hub: [Financial functions guide](/guides/excel-financial-functions-guide/).

Common errors

  • #NUM! if parameters invalid

Use cases

  • Flexible depreciation
  • Partial periods
  • Asset accounting

Frequently asked questions

  • What is VDB used for? VDB (Variable Declining Balance) calculates depreciation for any period using double-declining balance method, with flexibility for partial periods and optional switch to straight-line. It's the most versatile depreciation function in Excel.
  • How is VDB different from DDB? DDB calculates depreciation for whole periods only. VDB handles partial periods (like mid-year purchases), custom depreciation factors, and can optionally switch to straight-line when it becomes more advantageous. VDB is more flexible for real-world scenarios.
  • How do I calculate depreciation for a partial year? Use =VDB(cost, salvage, life, start_period, end_period). For an asset bought mid-year: =VDB(10000, 1000, 5, 0, 0.5) gives first half-year depreciation. The start/end periods can be fractional for partial period calculations.

Editorial review

  • Reviewed by Excel.Directory Editorial Team. Updated May 2026.