Tabellab
Accounting & financial statements

Straight-line vs declining balance depreciation in Excel (SLN, DB, DDB)

Straight-line depreciation spreads the cost evenly: =SLN(cost, salvage, life) = (cost − salvage) ÷ life. A fictional machine that costs $50,000, has a $5,000 salvage value and a 5-year life is depreciated by $9,000 a year. Declining balance applies a fixed rate to the remaining book value, so the charge is highest in year 1 and falls every year. Excel's =DB(cost, salvage, life, period) uses the rate 1 − (salvage ÷ cost)^(1 ÷ life), rounded to three decimals, here 36.9%, which gives $18,450 in year 1. Double-declining balance, =DDB(…), uses 2 ÷ life = 40% and starts at $20,000. All methods write off about the same $45,000 in total; they differ in timing.

Updated 30 Oct 2026 6 min read By Tabellab team

Straight-line depreciation with SLN

The syntax is =SLN(cost, salvage, life). It has no period argument because every full year gets the same amount: ($50,000 − $5,000) ÷ 5 = $9,000. The book value falls in a straight line from $50,000 to $5,000, which is where the name comes from.

Straight-line is the simplest method and suits assets that are used about evenly over their life, such as office furniture or buildings. In a fixed asset register, the accumulated depreciation is the sum of the yearly charges, and the net book value is cost minus accumulated depreciation. For an asset bought during the year, many companies charge only the months in service in the first year: =SLN(cost,salvage,life)*months/12.

Declining balance with DB: the rate and the rounding

The syntax is =DB(cost, salvage, life, period, [month]). Excel first calculates a fixed rate, 1 − (salvage / cost)^(1 / life), and rounds it to three decimals: 1 − 0.1^(0.2) = 0.36904, rounded to 0.369. Every year's depreciation is the opening book value times that rate:

  1. Year 1: $50,000 × 36.9% = $18,450. Book value $31,550.
  2. Year 2: $31,550 × 36.9% = $11,641.95. Book value $19,908.05.
  3. Year 3: $7,346.07, year 4: $4,635.37, year 5: $2,924.92.

Because of the rounded rate, the book value after five years is $5,001.69, not exactly the $5,000 salvage value. That is how DB works in Excel, not a mistake in your sheet. If the schedule must end exactly at salvage, put the difference into the last year or use DDB or VDB.

The optional month argument handles a partial first year. With month = 3 (the asset was bought in October), year 1 gets only 3/12 of a full year: $50,000 × 36.9% × 3 ÷ 12 = $4,612.50. The schedule then runs one year longer, and the sixth period takes the remaining 9 months, $1,991.32 here.

Double-declining balance with DDB and VDB

The syntax is =DDB(cost, salvage, life, period, [factor]). The rate is factor ÷ life, with a default factor of 2, so 2 ÷ 5 = 40% of the opening book value: $20,000, $12,000, $7,200 and $4,320. In year 5, 40% of $6,480 would be $2,592, but DDB never depreciates below the salvage value, so it charges only $1,480 and the book value ends at exactly $5,000. For the 150% declining balance method, set the factor to 1.5.

Note that DB is not double-declining: DB derives its rate from the salvage value (36.9% here), DDB from the life and the factor (40%). The two are easy to confuse because both are called declining balance.

A common rule with declining balance is to switch to straight-line once that gives a higher charge on the remaining book value. =VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch]) does this automatically and also accepts partial periods, for example =VDB(B2,B3,B4,0,0.25) for the first quarter. In this example the switch never pays off, so VDB over years 0 to 5 returns the same $45,000 as DDB.

Worked example: a $50,000 machine with five methods

Cost, salvage value, life and the months in the first year are inputs (yellow). Each method column is filled down from year 1 to 5.

Worked example: a $50,000 machine with five methods
ABCDEFG
1InputValue
2Cost ($)50,000
3Salvage value ($)5,000
4Useful life (years)5
5Months in the first year (DB variant)3
6
7YearSLNDBDDBSYDBook value after DBDB, 3 months in year 1
819,000.0018,450.0020,000.0015,000.0031,550.004,612.50
929,000.0011,641.9512,000.0012,000.0019,908.0516,747.99
1039,000.007,346.077,200.009,000.0012,561.9810,567.98
1149,000.004,635.374,320.006,000.007,926.616,668.40
1259,000.002,924.921,480.003,000.005,001.694,207.76
1361,991.32
14Total45,000.0044,998.3145,000.0045,000.0044,795.94
15Book value at the end5,000.005,001.695,000.005,000.005,204.06
16
17CheckValue
18DB rate, rounded to three decimals as Excel does36.9%
19DDB rate (factor 2 ÷ life)40.0%
20VDB years 0–5, declining balance with switch to straight line45,000.00
Key formulas
  • B8=SLN($B$2,$B$3,$B$4)Straight-line, the same every year
  • C8=DB($B$2,$B$3,$B$4,A8)Fixed-rate declining balance
  • D8=DDB($B$2,$B$3,$B$4,A8)Double-declining balance
  • E8=SYD($B$2,$B$3,$B$4,A8)Sum-of-years' digits
  • G8=DB($B$2,$B$3,$B$4,A8,$B$5)DB with 3 months in year 1
  • G18=ROUND(1-(B3/B2)^(1/B4),3)The rate DB uses

Fictional asset and teaching numbers. Accounting and tax depreciation rules differ between countries and companies; this is not tax or accounting advice.

Sum-of-years' digits with SYD

=SYD(cost, salvage, life, period) is another accelerated method. The years' digits of a 5-year life add up to 1 + 2 + 3 + 4 + 5 = 15. Year 1 gets 5/15 of the depreciable $45,000 ($15,000), year 2 gets 4/15 ($12,000), and so on down to $3,000 in year 5. The charge falls by the same amount every year, and the total is exactly $45,000.

Which method to use

In financial reporting, the method should reflect how the asset's benefits are used up: straight-line for even use, declining balance or SYD for assets that lose most of their value or usefulness early, such as vehicles, computers or machines with heavy early use. The total depreciation is the same; only the timing of the expense, and therefore of reported profit, changes.

For taxes, many countries prescribe their own methods, rates and first-year rules, which can differ from the accounting books. The resulting differences between book and tax values are what deferred taxes are about. Check the rules that apply to you or ask a tax adviser; this guide only shows how the Excel functions calculate. For how depreciation flows through a full model, see the three-statement model example.

Common mistakes

  • Expecting DB to end exactly at salvage. Excel rounds the DB rate to three decimals, so the final book value is usually a little off, $5,001.69 instead of $5,000 here.
  • Using DB when double-declining is meant. DB is a fixed-rate method based on the salvage value. Double-declining balance is DDB with the default factor 2.
  • Forgetting the partial first year. An asset bought in October does not get a full year of depreciation. Use the month argument of DB, VDB with fractional periods, or SLN × months ÷ 12.
  • Relative references when filling down. Cost, salvage and life must be absolute ($B$2), only the period changes from row to row.
  • Depreciating below salvage. A hand-made declining balance formula keeps going below the salvage value. DDB and VDB stop at salvage; a manual schedule needs a MIN cap.
  • Using a date as the period. The period argument is a number (1, 2, 3 …), not the date of the year end.

Frequently asked questions

What is the difference between DB and DDB in Excel?

DB uses a fixed rate of 1 - (salvage / cost)^(1 / life), rounded to three decimals, on the remaining book value. DDB uses factor / life, by default 2 / life, and never goes below the salvage value. For a $50,000 asset with $5,000 salvage over 5 years, DB uses 36.9% and DDB 40%.

How do you calculate straight-line depreciation in Excel?

Use =SLN(cost, salvage, life). For a $50,000 asset with a $5,000 salvage value and a 5-year life, =SLN(50000,5000,5) returns $9,000 a year.

Why doesn't Excel's DB function depreciate exactly to the salvage value?

Because Excel rounds the DB rate to three decimal places before applying it. The small rounding difference accumulates, so the book value at the end of the life is slightly above or below the salvage value.

How does Excel's DB function handle a partial first year?

Enter the number of months in the first year as the fifth argument. The first year then gets cost x rate x months / 12, and the schedule runs one period longer to take the remaining months.

Is declining balance better than straight-line depreciation?

Neither is better in general. Declining balance puts more expense in the early years, straight-line spreads it evenly. The total is the same; the method should match how the asset is used, and tax rules may prescribe one.

Practise it in a lab

Related guides

Reading is step one. Doing is step two.

Every guide links to a lab where you build the same calculation in an online spreadsheet and get instant feedback.

Open the lab