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.