---
title: YIELDMAT – ผลตอบแทนรายปีของตราสารที่จ่ายดอกเบี้ยเมื่อครบกำหนด
url: https://www.thepexcel.com/functions/excel/financial/yieldmat/
type: function-explainer
program: Excel
syntax: "=YIELDMAT(settlement, maturity, issue, rate, pr, [basis])"
date: 2025-12-11
updated: 2025-12-24
scores:
  popularity: 4
  difficulty: 6
  usefulness: 6
---

# YIELDMAT – ผลตอบแทนรายปีของตราสารที่จ่ายดอกเบี้ยเมื่อครบกำหนด

> YIELDMAT คำนวณผลตอบแทนประจำปี (yield to maturity) ของตราสารทางการเงินที่จ่ายดอกเบี้ยเพียงครั้งเดียว

## คำอธิบาย

YIELDMAT คำนวณผลตอบแทนประจำปี (yield to maturity) ของตราสารทางการเงินที่จ่ายดอกเบี้ยเพียงครั้งเดียว เมื่อตราสารครบกำหนด โดยใช้ราคาซื้อ อัตราดอกเบี้ย และวันที่สำคัญของตราสารเป็นปัจจัยในการคำนวณ

## Syntax

```excel
=YIELDMAT(settlement, maturity, issue, rate, pr, [basis])
```

**Variant**

```excel
=YIELDMAT(settlement, maturity, issue, rate, pr, [basis])
```

สูตรมาตรฐานสำหรับ YIELDMAT

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| settlement | Yes | date |  | วันที่ชำระคืน - วันที่ตราสารถูกโอนให้แก่ผู้ซื้อ (วันที่คำนวณผลตอบแทน) โดยปกติคือวันที่ซื้อตราสาร |
| maturity | Yes | date |  | วันที่ครบกำหนด - วันที่ตราสารหมดอายุและผู้ออกหลักทรัพย์จะคืนเงินต้นและดอกเบี้ยให้แก่ผู้ถือครอง |
| issue | Yes | date |  | วันที่ออกตราสาร - วันที่ตราสารออกมา ใช้ในการคำนวณอายุของตราสารและประกอบการคำนวณดอกเบี้ย |
| rate | Yes | number |  | อัตราดอกเบี้ยประจำปี - อัตราดอกเบี้ยเชิงบัญญัติรายปี ของตราสาร (ป้อนเป็นเปอร์เซ็นต์ เช่น 0.05 หรือ 5%) |
| pr | Yes | number |  | ราคาที่ซื้อ - ราคาปัจจุบันหรือราคาที่จ่าย สำหรับตราสาร ป้อนเป็นราคาต่อ 100 หน่วยมูลค่า (เช่น 95 หมายถึง 95 ต่อ 100) |
| basis | No | number | 0 | วิธีการนับวัน - พื้นฐานการนับวันในปี (0=30/360, 1=actual/actual, 2=actual/360, 3=actual/365, 4=30/360 European) หากไม่ระบุจะใช้ 0 (30/360) เป็นค่าเริ่มต้น |

## ตัวอย่าง

### 1. คำนวณผลตอบแทนพันธบัตรพื้นฐาน

```excel
=YIELDMAT(DATE(2025,1,15), DATE(2030,1,15), DATE(2020,1,15), 0.05, 95)
```

**ผลลัพธ์:** `0.0536 (ประมาณ 5.36%)`

พันธบัตรออกในวันที่ 15 ม.ค. 2020 กำหนดวันชำระคืนที่ 15 ม.ค. 2025 และครบกำหนด 15 ม.ค. 2030 มีอัตราดอกเบี้ย 5% ปีซื้อในราคา 95 บาท ต่อ 100 บาท ผลตอบแทนที่ได้คือประมาณ 5.36% ต่อปี

### 2. เปรียบเทียบผลตอบแทนของตราสารหลายตัว

```excel
=YIELDMAT(A2, A3, A4, A5, A6, 1) | =YIELDMAT(B2, B3, B4, B5, B6, 1)
```

**ผลลัพธ์:** `ตราสาร 1: 4.85% | ตราสาร 2: 5.12%`

ใช้อ้างอิงเซลล์เพื่อเปรียบเทียบผลตอบแทนของตราสารสองตัว โดยใช้พื้นฐาน 1 (actual/actual) สำหรับการนับวันที่แม่นยำ

### 3. ตราสารส่วนลดที่ซื้อด้วยราคาต่ำ

```excel
=YIELDMAT(DATE(2025,6,30), DATE(2028,6,30), DATE(2020,6,30), 0.04, 88)
```

**ผลลัพธ์:** `0.0562 (ประมาณ 5.62%)`

ตราสารขายในราคาส่วนลด 88 บาทต่อ 100 บาท มีอัตราดอกเบี้য 4% ผลตอบแทนที่ได้จะสูงกว่า 4% เนื่องจากการซื้อในราคาต่ำกว่ามูลค่า

### 4. ใช้พื้นฐานการนับวันแบบยูโรโปยัน

```excel
=YIELDMAT(DATE(2025,3,1), DATE(2032,3,1), DATE(2018,3,1), 0.035, 92, 4)
```

**ผลลัพธ์:** `0.0425 (ประมาณ 4.25%)`

ตราสารยูโรซึ่งใช้พื้นฐาน 4 (30/360 European) สำหรับการนับวัน ผลตอบแทนจะต่างจากการใช้พื้นฐานอื่นเล็กน้อย

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

- YIELDMAT คำนวณผลตอบแทนภายในซ้ำๆ (iterative method) จึงอาจใช้เวลาคำนวณนิดหน่อย หากการคำนวณไม่บรรจบ Excel จะคืนค่า #NUM!

- เมื่อทำการวิเคราะห์ตราสารเรือง basis ต่างกัน ตรวจสอบให้แน่ใจว่าใช้ basis ที่ถูกต้องตามตลาดของตราสาร ตลาดสหรัฐใช้ 0 (30/360) ตลาดยูโรใช้ 4 (30/360 European) ตลาดสเตอร์ลิงใช้ 1 (actual/actual)

- ถ้า settlement มีค่าเท่ากับ issue ฟังก์ชันจะคำนวณได้ถูกต้อง แต่ถ้ามีค่าเล็กกว่า settlement < issue จะคืน #NUM! error

- ผลตอบแทนที่ได้จาก YIELDMAT เป็นอัตราต่อปี (annual yield) ถ้าต้องการผลตอบแทนรวมตลอดช่วง settlement ถึง maturity ต้องคูณด้วยจำนวนปี

- ใช้ร่วมกับ PRICE เพื่อจำลองสถานการณ์ (scenario analysis) เปลี่ยนแปลงราคาและดูผลตอบแทนเปลี่ยนแปลงอย่างไร

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

**Q: YIELDMAT ต่างจาก YIELD และ YIELDDISC อย่างไร?**

YIELDMAT ใช้สำหรับตราสารที่จ่ายดอกเบี้ยครั้งเดียวตอนครบกำหนด | YIELD ใช้สำหรับตราสารที่จ่ายคูปองเป็นระยะๆ (ทั้งดอกเบี้ยและเงินต้น) | YIELDDISC ใช้สำหรับตราสารส่วนลด (ไม่มีอัตราดอกเบี้ยเชิงบัญญัติ)

**Q: วันที่ settlement, maturity, issue มีลำดับที่สำคัญหรือไม่?**

มีความสำคัญอย่างมาก ลำดับต้องเป็น: issue < settlement < maturity เสมอ ถ้าลำดับผิด YIELDMAT จะคืนค่า #NUM! error

**Q: ราคา (pr) ป้อนเป็นเปอร์เซ็นต์หรือจำนวนเงินจริง?**

ป้อนเป็นราคาต่อ 100 หน่วยมูลค่า เช่น ถ้าซื้อด้วยราคา 9,500 บาท สำหรับตราสารมูลค่า 10,000 บาท ให้ป้อน 95

**Q: พื้นฐาน (basis) มีผลต่อผลตอบแทนขนาดไหน?**

มีผลต่ออัตราผลตอบแทนเล็กน้อย โดยปกติความแตกต่างน้อยกว่า 0.2% แต่สำหรับตราสารระยะยาว หรือในบางตลาดอาจเกี่ยวข้องเนื่องจากความเป็นมาตรฐานท้องถิ่น

**Q: ถ้าป้อนอัตราดอกเบี้ย (rate) เป็น 0 จะเกิดอะไร?**

ฟังก์ชันจะคำนวณผลตอบแทนจากส่วนลด (capital gain) โดยไม่มีค่าดอกเบี้ย ตราสารเช่นนี้เรียกว่า zero-coupon bond

## ฟังก์ชันที่เกี่ยวข้อง

- [PRICE – คำนวณราคาพันธบัตร](https://www.thepexcel.com/functions/excel/financial/price/)
- [YIELD – คำนวณผลตอบแทนพันธบัตร](https://www.thepexcel.com/functions/excel/financial/yield/)
- [PRICEDISC – คำนวณราคาตราสารลดราคา (Discounted Security)](https://www.thepexcel.com/functions/excel/financial/pricedisc/)

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

- [Microsoft Support: YIELDMAT Function](https://support.microsoft.com/en-us/office/yieldmat-function-6ba7dfc3-a63d-4f16-8dda-79953ed10ca7) _(official)_
- [Microsoft Learn: Financial Functions](https://learn.microsoft.com/en-us/office/excel/function-reference) _(official)_

---

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