The Excel VDB function returns the depreciation of an asset for given period, using the double-declining balance method or another method specified by changing the factor argument. By default, the VDB function will switch to straight line calculation. VDB stands for variable declining balance.
Syntax:= VDB (cost, salvage, life, start, end, [factor], [no_switch])
The VDB function syntax has the following arguments:
- Cost Required. The initial cost of the asset.
- Salvage Required. The value at the end of the depreciation (sometimes called the salvage value of the asset). This value can be 0.
- Life Required. The number of periods over which the asset is depreciated (sometimes called the useful life of the asset).
- Start_period Required. The starting period for which you want to calculate the depreciation. Start_period must use the same units as life.
- End_period Required. The ending period for which you want to calculate the depreciation. End_period must use the same units as life.
- Factor Optional. The rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method). Change factor if you do not want to use the double-declining balance method. For a description of the double-declining balance method, see DDB.
- No_switch Optional. A logical value specifying whether to switch to straight-line depreciation when depreciation is greater than the declining balance calculation.
- If no_switch is TRUE, Microsoft Excel does not switch to straight-line depreciation even when the depreciation is greater than the declining balance calculation.
- If no_switch is FALSE or omitted, Excel switches to straight-line depreciation when depreciation is greater than the declining balance calculation.
Example: Let’s look at some Excel VDB function examples and explore how to use the VDB function as a worksheet function in Microsoft Excel:
Based on the Excel spreadsheet above, the following VDB examples would return:
- We need to provide arguments “period” and “life” in the same units of time: years, months, or days.
- All arguments except no_switch must be positive numbers.
- #VALUE! error – Occurs when the given arguments are non-numeric.
- #NUM! error – Occurs when:
- Any of the supplied cost, salvage, start_period, end_period or [factor] arguments are < 0;
- The given life argument is less than or equal to zero;
- The given start_period is > the given end_period; and
- Start_period > life or end_period > life.