Excel like a finance pro.
VDB
FinanceVariable-declining balance — accelerated depreciation that switches to straight-line so nothing is stranded.
Difficulty
1What is it?
VDB (variable declining balance) is the most flexible of Excel's depreciation functions. It depreciates fast in the early years like DDB, but by default it watches for the point where straight-line on the remaining value would give a bigger deduction and switches to it — so, unlike DDB, the asset fully depreciates down to its salvage value instead of leaving a residual. It also works across any span of periods (start_period to end_period), so one call can return a single year, a partial year, or a whole range, and you can change the acceleration factor.
2What it looks like
VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch])- cost
- What the asset cost, all-in.
- salvage
- Its value at the end of its life (0 is fine here).
- life
- Useful life, in years.
- start_period
- The period to start from — use year − 1 to isolate a single year.
- end_period
- The period to stop at — so 0 to 1 is year 1, 1 to 2 is year 2, and so on.
- [factor]
- The rate of decline (default 2 = double-declining). 1.5 gives 150%-declining.
- [no_switch]
- FALSE (default) switches to straight-line when that's larger; TRUE stays on declining balance the whole way.
3When you use it
- Accelerated depreciation that still fully writes the asset down to salvage.
- One year's expense: VDB(cost, salvage, life, year − 1, year).
- A partial first or last year — start_period and end_period accept fractions.
4See it in action
Change the inputs — the formula and result update live. Prefer the real thing? Download the Excel file and open it in Excel.
VDB depreciates fast early, then switches to straight-line so the asset fully reaches salvage — no stranded residual like DDB. Flip 'Switch' off to feel the difference.
=VDB(B2, B3, B4, 0, 1)Year 1: $18,000| A | B | C | |
|---|---|---|---|
| 1 | Field | Value | Result |
| 2 | Cost | Year 1: $18,000 | |
| 3 | Salvage | Year 2: $10,800 | |
| 4 | Life (yrs) | Year 3: $6,480 | |
| 5 | Year 4: $3,888 | ||
| 6 | Year 5: $832 |
The lime cell holds the formula — click it (or any cell) to see its contents in the bar above, just like Excel. Edit the blue cells to watch it recompute.
5Common errors
#NUM!start_period or end_period is negative, start > end, or either exceeds life.Fix: Keep 0 ≤ start_period ≤ end_period ≤ life.
Same as DDBYou passed no_switch = TRUE.Fix: Leave no_switch out (or FALSE) so it switches to straight-line and reaches salvage.
Whole-life total, not one yearstart_period stayed at 0 with a large end_period.Fix: For a single year use consecutive periods — year − 1 to year.
6Better functions & alternatives
- DDB / SLN / SYD — The classic methods; DDB is essentially VDB without the auto-switch.
- DB — Fixed-rate declining balance — one Excel-derived rate applied every year.
Want VDB already wired into a model? Wauvel's free tools download as branded, formula-driven Excel.
Learn the moves here — or let Wauvel run them on your numbers.
Meet your AI CFO →