Home / Guides / SLN, DB and DDB: Depreciation Functions in Excel

SLN, DB and DDB: Depreciation Functions in Excel

Excel Functions · Updated June 2026

SLN, DB and DDB calculate depreciation in Excel. SLN gives a constant straight line amount each period, while DB and DDB are declining balance methods that front load depreciation into the early years. They share the core inputs of cost, salvage, and life, and they slot directly into a depreciation schedule that flows to the income statement.

Syntax and what each method does

The signatures are =SLN(cost, salvage, life), =DB(cost, salvage, life, period, [month]) and =DDB(cost, salvage, life, period, [factor]). The cost is the purchase price, salvage is the residual value at the end, and life is the number of periods of useful life.

SLN returns the same amount every period, so it needs no period argument. DB uses a fixed declining balance rate and requires the period you want. DDB uses double declining balance by default, applying twice the straight line rate to the remaining book value, and you can change the factor from the default 2 to use a different acceleration.

Worked example: first year on each method

An asset costs 10000, has a salvage value of 1000, and a useful life of 5 years. Compare the first year charge under each method.

  1. Straight line: =SLN(10000, 1000, 5) returns 1800 every year, since (10000 minus 1000) divided by 5 is 1800.
  2. Double declining: =DDB(10000, 1000, 5, 1) returns 4000, since twice the 20 percent straight line rate is 40 percent applied to the full 10000 cost.
  3. Declining balance: =DB(10000, 1000, 5, 1) returns about 3690 using the DB rate derived from cost, salvage, and life.
  4. Note SLN total over 5 years is 9000, exactly the cost less salvage, while DDB and DB load more into year one.
MethodFormulaYear 1
SLN=SLN(10000, 1000, 5)1800
DDB=DDB(10000, 1000, 5, 1)4000
DB=DB(10000, 1000, 5, 1)3690 (approx)

DDB front loads the charge at 4000 in year one versus a flat 1800 under SLN.

How analysts feed a depreciation schedule

These functions build the period by period charges that drive book value and the expense line.

Common pitfalls

Declining balance methods do not automatically stop at salvage value the way you might expect. DDB in particular can depreciate below salvage in later years unless you cap it, so analysts often switch to straight line on the remaining book value once it produces a larger charge, or use VDB to control the crossover.

Watch the arguments too. DB has an optional month argument for a partial first year, and leaving it out assumes a full year, which changes the schedule. Make sure the period you pass matches the year of the schedule line, since an off by one period shifts every charge and the book value will not tie to cost less salvage at the end.

Do it in one click

Find Hardcodes

Find Hardcodes flags cost, salvage, and life values typed into SLN or DDB so the depreciation drivers live in assumption cells.

Get ModelMint See how it works

FAQ

What is the difference between SLN, DB and DDB?

SLN spreads cost less salvage evenly across the life for a constant charge. DB and DDB are declining balance methods that apply a rate to the falling book value, so they charge more in early years and less later.

Why does DDB depreciate below salvage value?

DDB applies a fixed rate to book value without automatically stopping at salvage, so late periods can dip below it. Cap the charge, switch to straight line on the remainder, or use VDB to manage the crossover point.

Which depreciation function should I use in a model?

Use SLN when the policy is straight line and the charge is flat. Use DB or DDB when accounting calls for accelerated depreciation. The choice should match the depreciation method in your accounting policy, not convenience.