---
title: DB – คิดค่าเสื่อม (Fixed-Declining Balance)
url: https://www.thepexcel.com/functions/excel/financial/db/
type: function-explainer
program: Excel
syntax: "=DB(cost, salvage, life, period, [month])"
date: 2025-12-02
updated: 2025-12-23
scores:
  popularity: 4
  difficulty: 6
  usefulness: 6
---

# DB – คิดค่าเสื่อม (Fixed-Declining Balance)

> DB คำนวณค่าเสื่อมราคาแบบลดลงตามยอดคงเหลือ ค่าเสื่อมจะสูงในปีแรก แล้วลดลงเรื่อยๆ

## คำอธิบาย

DB คำนวณค่าเสื่อมราคาแบบลดลงตามยอดคงเหลือ ค่าเสื่อมจะสูงในปีแรก แล้วลดลงเรื่อยๆ

## Syntax

```excel
=DB(cost, salvage, life, period, [month])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| cost | Yes | Number |  | ราคาทุนของสินทรัพย์ (ราคาซื้อเดิม) |
| salvage | Yes | Number |  | มูลค่าซากของสินทรัพย์หลังจากจบอายุการใช้งาน (residual value) |
| life | Yes | Number |  | อายุการใช้งานของสินทรัพย์ (จำนวนปี หรือปีที่) |
| period | Yes | Number |  | ปีที่ต้องการคิดค่าเสื่อม (1 = ปีแรก, 2 = ปีที่ 2, เป็นต้น) |
| month | No | Number | 12 | จำนวนเดือนในปีแรกที่ใช้งาน (1-12) ถ้าไม่ระบุจะเป็น 12 เดือน |

## ตัวอย่าง

### 1. ค่าเสื่อมปีแรก (เต็มปี)

```excel
=DB(100000, 10000, 5, 1)
```

**ผลลัพธ์:** `36,900`

สินทรัพย์ราคา 100,000 ซาก 10,000 อายุ 5 ปี คิดค่าเสื่อมปีที่ 1 (12 เดือนเต็ม) ได้ 36,900 ซึ่งสูงสุดของอายุ 5 ปี

### 2. ค่าเสื่อมปีแรก (ใช้งานไม่เต็มปี)

```excel
=DB(100000, 10000, 5, 1, 6)
```

**ผลลัพธ์:** `18,450`

สินทรัพย์ซื้อมาตรงกลางปี (6 เดือนแรกเท่านั้น) ค่าเสื่อมปีแรกจึงเป็น 18,450 ซึ่งเป็นครึ่งหนึ่งของ 36,900

### 3. ค่าเสื่อมปีที่ 2

```excel
=DB(100000, 10000, 5, 2)
```

**ผลลัพธ์:** `23,279.10`

ค่าเสื่อมปีที่ 2 จะลดลงจากปีแรก เพราะฐาน (ยอดคงเหลือ) ลดลงแล้ว นี่คือลักษณะของ Fixed-Declining Balance

### 4. ส่วนปีหลังสุด

```excel
=DB(100000, 10000, 5, 5, 9)
```

**ผลลัพธ์:** `1,576.89`

ปีสุดท้ายถ้าสินทรัพย์ซื้อมาเดือนที่ 4 ปีแรก ปีสุดท้ายจะเหลือแค่ 9 เดือน ค่าเสื่อมจึงต่ำมาก

## หมายเหตุเพิ่มเติม

- ถ้าต้องการค่าเสื่อมรวมหลายปี ให้บวก DB(period=1) + DB(period=2) + ... ไม่ใช่ DB(life) โดดเดียว

- ใช้ DB เมื่อต้องการเสื่อมเร่งตัว (accelerated depreciation) เช่น เครื่องจักร รถยนต์ อุปกรณ์ IT

- ถ้าสินทรัพย์ซื้อตรงกลางปี สตปจำนวน month ให้ถูกต้อง เพราะส่งผลต่อการคิด 2 ปี (ปีแรก + ปีสุดท้าย)

- ใช้ ROUND() คร่อม DB ถ้าต้องการปัดเศษ เช่น =ROUND(DB(...), 2) สำหรับเงิน

- เปรียบเทียบกับ DDB ถ้าต้อง depreciation ที่เร่งตัวมากขึ้น (double-declining) หรือ SLN ถ้าต้องเท่าๆ กันทุกปี

## คำถามที่พบบ่อย

**Q: DB กับ SLN ต่างกันอย่างไร?**

DB (Fixed-Declining Balance) คิดค่าเสื่อมสูงในปีแรก แล้วลดน้อยลงเรื่อยๆ | SLN (Straight-Line) คิดค่าเสื่อมเท่าๆ กันทุกปี | ใช้ DB เมื่อสินทรัพย์หมดค่าเร็ว (รถยนต์, โนเบ็ก) | ใช้ SLN เมื่อหมดค่าสม่ำเสมอ (อาคาร, ที่ดิน)

**Q: ต้องใช้ DB หรือ DDB?**

DB = Fixed-Declining Balance (ลดลงตามอัตราคงที่) | DDB = Double-Declining Balance (ลดลงแบบสองเท่า = อัตราเร่งมากกว่า) | ใช้ DDB ถ้าต้องการค่าเสื่อมเร่งตัวมากขึ้น

**Q: month parameter ใช้ยังไง?**

ปกติคือ 12 (เต็มปี) ถ้าสินทรัพย์ซื้อตรงกลางปี ระบุจำนวนเดือนที่ใช้งานจริงในปีแรก เช่น ซื้อเดือนที่ 7 = ใช้งาน 6 เดือน ให้ใส่ month=6

**Q: ถ้า salvage > cost จะเกิดอะไร?**

จะได้ค่าผิดปกติ (อาจเป็น negative) เพราะ DB สมมติว่าซาก < ราคาทุนเสมอ ควรตรวจสอบข้อมูลให้แน่ใจ

**Q: DB ใช้ได้ทุก Excel version ไหม?**

ใช้ได้ตั้งแต่ Excel 2007 ขึ้นไป รวมถึง Excel 365

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Support - DB Function](https://support.microsoft.com/en-us/office/db-function-354e7d28-5f93-4ff1-8a52-eb4ee549d9d7) _(official)_
- [ExcelJet - DB Function](https://exceljet.net/excel-functions/excel-db-function) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/financial/db/](https://www.thepexcel.com/functions/excel/financial/db/)_
