---
title: YIELD – คำนวณผลตอบแทนพันธบัตร
url: https://www.thepexcel.com/functions/excel/financial/yield/
type: function-explainer
program: Excel
syntax: "=YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])"
date: 2025-12-02
updated: 2026-05-31
scores:
  popularity: 4
  difficulty: 6
  usefulness: 6
---

# YIELD – คำนวณผลตอบแทนพันธบัตร

> YIELD คำนวณผลตอบแทน (Yield) ของหลักทรัพย์ที่จ่ายดอกเบี้ยเป็นงวด เหมาะสำหรับวิเคราะห์พันธบัตรและการลง

## คำอธิบาย

YIELD คำนวณผลตอบแทน (Yield) ของหลักทรัพย์ที่จ่ายดอกเบี้ยเป็นงวด เหมาะสำหรับวิเคราะห์พันธบัตรและการลงทุนผลตอบแทนคงที่

## Syntax

```excel
=YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| settlement | Yes | Date |  | วันซื้อหลักทรัพย์ (วันที่ให้สิทธิแก่ผู้ซื้อ) |
| maturity | Yes | Date |  | วันครบกำหนดของหลักทรัพย์ (วันที่หลักทรัพย์หมดอายุ) |
| rate | Yes | Number |  | อัตราคูปองรายปี (Coupon Rate) เป็นเปอร์เซ็นต์ เช่น 5.75% หรือ 0.0575 |
| pr | Yes | Number |  | ราคาตลาดของหลักทรัพย์ต่อหน่วย $100 face value เช่น 95 หมายถึง $95 ต่อหน่วย $100 |
| redemption | Yes | Number |  | มูลค่าไถ่ถอนของหลักทรัพย์ต่อหน่วย $100 face value ปกติ 100 (ราคาตามหนังสือ) |
| frequency | Yes | Number |  | ความถี่ของการจ่ายคูปอง: 1 = รายปี, 2 = ครึ่งปี, 4 = รายไตรมาส |
| basis | No | Number | 0 | วิธีการนับจำนวนวัน (0=US 30/360, 1=Actual/actual, 2=Actual/360, 3=Actual/365, 4=European 30/360) |

## ตัวอย่าง

### 1. พันธบัตรจ่ายดอกเบี้ยครึ่งปีอย่างง่าย

```excel
=YIELD("2008-02-15", "2016-11-15", 5.75%, 95, 100, 2)
```

**ผลลัพธ์:** `0.0651 (6.51%)`

พันธบัตรซื้อวัน 15 ก.พ. 2551 ครบกำหนด 15 พ.ย. 2559 อัตราคูปอง 5.75% ราคาซื้อ $95 ต่อหน่วย $100 จ่ายดอกเบี้ยครึ่งปี YIELD ออกมา 6.51% (ผลตอบแทนที่แท้จริง)

### 2. พันธบัตรจ่ายดอกเบี้ยรายไตรมาส

```excel
=YIELD("2023-01-01", "2027-12-31", 4.5%, 102, 100, 4)
```

**ผลลัพธ์:** `0.0406 (4.06%)`

พันธบัตรตั้งแต่ 1 ม.ค. 2566 ถึง 31 ธ.ค. 2570 อัตราคูปอง 4.5% ราคาพรีเมียม $102 ต่อหน่วย $100 จ่ายรายไตรมาส ผลตอบแทน 4.06% ซึ่งต่ำกว่าคูปองเพราะซื้อในราคาสูง

### 3. พันธบัตรระยะสั้นจ่ายรายปี

```excel
=YIELD("2024-06-15", "2025-06-15", 6%, 98, 100, 1)
```

**ผลลัพธ์:** `0.0816 (8.16%)`

พันธบัตร 1 ปี ซื้อในราคา $98 ต่อหน่วย $100 คูปอง 6% จ่ายรายปี ผลตอบแทน 8.16% ตั้งแต่ผลตอบแทนต่ำ (yield discount)

### 4. พันธบัตรพรีเมียมจ่ายครึ่งปีกับ basis ต่างกัน

```excel
=YIELD("2024-01-15", "2029-01-15", 7%, 105, 100, 2, 1)
```

**ผลลัพธ์:** `0.0583 (5.83%)`

พันธบัตร 5 ปี ราคา $105 (พรีเมียม) คูปอง 7% จ่ายครึ่งปี ใช้ Actual/actual basis เผื่อความแม่นยำ ผลตอบแทน 5.83%

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

- ใช้ DATE() หรือ DATEVALUE() เพื่อแน่ใจว่า settlement และ maturity เป็นวันที่ที่ถูกต้อง

- ผลลัพธ์ของ YIELD เป็นเศษส่วนฐาน 10 (เช่น 0.0654) ใช้ FIXED() หรือ % format เพื่อแสดงเป็นเปอร์เซ็นต์อย่างชัดเจน

- YIELD ใช้ iterative method หากไม่สามารถหาผลลัพธ์ได้ Excel จะคืน #NUM! อาจเป็นเพราะข้อมูล input ไม่สมเหตุสมผล

- เปรียบเทียบ YIELD กับ PRICE ฟังก์ชน PRICE ทำงานในทิศทางตรงกันข้าม: ให้ yield หากต้องการหาราคา

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

**Q: ทำไม YIELD ต่ำกว่า Coupon Rate ในตัวอย่างแรก?**

เพราะซื้อพันธบัตรในราคา 95 ซึ่งต่ำกว่า par value 100 ผู้ลงทุนได้รับกำไรจากราคาเพิ่มเติมเมื่อครบกำหนด นี่คือ capital gain ที่เพิ่มผลตอบแทนทั้งหมด ในตัวอย่างจะได้ 6.54%

**Q: ความแตกต่างระหว่าง rate กับ frequency คืออะไร?**

rate คือ coupon rate รายปี (ตัวอักษร fixed) frequency คือกี่ครั้งต่อปีที่จ่าย Excel จะแบ่งคูปองออกตามความถี่อัตโนมัติ

**Q: basis 0 และ 1 ต่างกันอย่างไร?**

basis 0 (US 30/360) ถือว่าทุกเดือน 30 วัน หากคำนวณเร็ว basis 1 (Actual/actual) นับวันจริง ๆ ให้ความแม่นยำมากกว่า

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

- [Microsoft Support: YIELD Function](https://support.microsoft.com/en-us/office/yield-function-f5f5ca43-c4bd-434f-8bd2-ed3c9727a4fe) _(official)_
- [ExcelJet: YIELD Function](https://exceljet.net/excel-functions/excel-yield-function) _(guide)_

---

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