---
title: ODDFYIELD – คำนวณผลตอบแทนตราสารที่มีช่วงคูปองแรกแปลก
url: https://www.thepexcel.com/functions/excel/financial/oddfyield/
type: function-explainer
program: Excel
syntax: "=ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])"
date: 2025-12-11
updated: 2025-12-24
scores:
  popularity: 4
  difficulty: 6
  usefulness: 6
---

# ODDFYIELD – คำนวณผลตอบแทนตราสารที่มีช่วงคูปองแรกแปลก

> ODDFYIELD คำนวณผลตอบแทนประจำปี (yield) ของตราสารที่มีช่วงคูปองแรกแปลก แตกต่างจาก ODDLPRICE ที่คำนวณร

## คำอธิบาย

ODDFYIELD คำนวณผลตอบแทนประจำปี (yield) ของตราสารที่มีช่วงคูปองแรกแปลก แตกต่างจาก ODDLPRICE ที่คำนวณราคา ODDFYIELD คำนวณอัตราผลตอบแทนแทน ใช้สำหรับวิเคราะห์บอนด์ที่มีช่วงคูปองแรกไม่ปกติ

## Syntax

```excel
=ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])
```

**Variant**

```excel
=ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis])
```

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

## Arguments

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

## ตัวอย่าง

### 1. ตัวอย่างพื้นฐาน: บอนด์ที่มีช่วงคูปองแรกสั้น

```excel
=ODDFYIELD(DATE(2024,1,15), DATE(2026,6,15), DATE(2024,1,1), DATE(2024,3,15), 0.05, 98.5, 100, 2, 0)
```

**ผลลัพธ์:** `0.0519 (หรือ 5.19%)`

ตราสารออกเมื่อ 1 มกราคม 2024 ชำระคูปองแรกเมื่อ 15 มีนาคม 2024 (สั้นกว่าปกติ) ซื้อเมื่อ 15 มกราคม 2024 ด้วยราคา 98.5 บาท ผลตอบแทนประจำปี = 5.19%

### 2. ตัวอย่างจริง: บอนด์ระยะยาวกับช่วงคูปองแรกยาว

```excel
=ODDFYIELD(DATE(2024,6,1), DATE(2029,12,1), DATE(2024,1,1), DATE(2025,6,1), 0.04, 99.8, 100, 2, 1)
```

**ผลลัพธ์:** `0.0405 (หรือ 4.05%)`

บอนด์ 5 ปีกับช่วงคูปองแรกยาว (17 เดือน) ชำระคูปองครึ่งปี ใช้พื้นฐาน Actual/Actual (เหมาะสำหรับตราสารระหว่างประเทศ)

### 3. ตัวอย่างใช้อ้างอิงเซลล์: วิเคราะห์หลายตราสาร

```excel
=ODDFYIELD(B2, C2, A2, D2, E2, F2, G2, H2, I2)
```

**ผลลัพธ์:** `ผลตอบแทนของแต่ละตราสารในแถว`

เมื่อวาง A2:I2 ให้มีข้อมูลตราสารหนึ่งชุด สูตรนี้คำนวณ yield ได้ง่าย คัดลอกลงมาเพื่อวิเคราะห์หลายตราสารพร้อมกัน

### 4. ตัวอย่างขั้นสูง: เปรียบเทียบกับ ODDLPRICE

```excel
=ODDFYIELD(A2, B2, C2, D2, E2, ODDLPRICE(A2, B2, C2, D2, 0.05, E2, F2, G2), F2, G2, H2)
```

**ผลลัพธ์:** `yield ที่สอดคล้องกับราคาจาก ODDLPRICE`

ใช้ ODDLPRICE คำนวณราคาจาก yield ผ้อมแรกก่อน แล้วใช้ราคานั้นเป็น input สำหรับ ODDFYIELD ผลลัพธ์ควรใกล้เคียงกับ yield ดั้งเดิม

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

- ใช้ DATE(year, month, day) สำหรับการใส่วันที่แทนการพิมพ์ text วันที่ มากความเสี่ยงข้อผิดพลาด

- ODDFYIELD คำนวณ yield to maturity (YTM) ของบอนด์ผลตอบแทนต่อปีถ้าถือจนครบกำหนด

- ใช้ร่วมกับ ODDLPRICE ได้ - ODDLPRICE(settlement, maturity, issue, first_coupon, yield, redemption, frequency, basis) คำนวณราคาจาก yield

- ทำการ Goal Seek (Data > What-If Analysis > Goal Seek) เพื่อหา settlement price ที่ให้ yield ตามต้องการ

- สำหรับบอนด์ปกติที่ไม่มี odd first period ให้ใช้ YIELD() ธรรมดาแทน ง่ายกว่าและเร็วกว่า

- ในตลาดต่างประเทศ ตรวจสอบ convention ว่าใช้ basis ไหน (อเมริกา=0, ยุโรป=4, ญี่ปุ่น=1 เป็นต้น)

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

**Q: ODDFYIELD ใช้สำหรับอะไร?**

ODDFYIELD คำนวณผลตอบแทนประจำปี (yield to maturity) ของบอนด์หรือตราสารที่มีช่วงคูปองแรกแปลก (odd first period) ใช้ได้ทั้งช่วงคูปองแรกสั้นกว่าหรือยาวกว่าปกติ

**Q: วันที่ issue, first_coupon, settlement, maturity ต่างกันอย่างไร?**

issue = วันออกตราสาร | first_coupon = วันชำระคูปองแรก (อาจแปลก) | settlement = วันซื้อตราสาร | maturity = วันตราสารครบกำหนด ลำดับเวลา: issue < first_coupon

**Q: rate และ redemption ส่งข้อมูลเป็นเปอร์เซ็นต์หรือตัวเลข?**

ทั้งสอง ต้องเป็นตัวเลขไม่ใช่เปอร์เซ็นต์ ถ้า rate = 5% ให้ใส่ 0.05 หรือ 5 แล้วใช้ 5/100 redemption โดยปกติ = 100 (ชำระเต็มจำนวน)

**Q: Frequency = 2 และ Frequency = 4 ต่างกันอย่างไร?**

Frequency = 2 = ชำระคูปองครึ่งปี (6 เดือนต่อครั้ง) | Frequency = 4 = ชำระไตรมาส (3 เดือนต่อครั้ง) ใช้ค่าที่สอดคล้องกับเงื่อนไขตราสารจริง

**Q: ฟังก์ชัน ODDFYIELD มีตั้งแต่ Excel เวอร์ชันไหน?**

Excel 2003 ขึ้นไป รวมถึง Excel 365 ปลอดภัยใช้ได้ทั่วทุกเวอร์ชันสมัยใหม่

**Q: ถ้า first_coupon = maturity มีปัญหาไหม?**

ถ้า first_coupon == maturity แสดงว่าช่วงคูปองแรก = ช่วงสุดท้าย ใช้ได้ แต่หากใกล้กันเกินไป อาจมีปัญหาความเที่ยงตรง ใช้ YIELD ธรรมดาแทนจะดีกว่า

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

- [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: ODDFYIELD Function](https://support.microsoft.com/en-us/office/oddfyield-function) _(official)_
- [Excel Bond Valuation Functions (Microsoft Learn)](https://learn.microsoft.com/en-us/office/client-developer/excel/bond-functions) _(official)_
- [Corporate Bond Analysis Guide](https://support.microsoft.com/en-us/office) _(official)_

---

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