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

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

> ODDFPRICE คำนวณราคาต่อเงินหน้าตั๋ว $100 ของตราสารที่มีช่วงคูปองแรกแปลก (ช่วงเวลาสั้นหรือยาว) ใช้สำหร

## คำอธิบาย

ODDFPRICE คำนวณราคาต่อเงินหน้าตั๋ว $100 ของตราสารที่มีช่วงคูปองแรกแปลก (ช่วงเวลาสั้นหรือยาว) ใช้สำหรับตราสารโบนด์ที่มีระยะเวลาชำระดอกเบี้ยครั้งแรกไม่ปกติ เช่น โบนด์ที่ออกในช่วงกลางระหว่างวันชำระปกติ

## Syntax

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

**Variant**

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

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

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| settlement | Yes | date |  | วันที่ชำระคืน - วันที่ตราสารถูกโอนจากผู้ออกให้แก่ผู้ซื้อ ต้องมาหลังจากวันออกตราสาร |
| maturity | Yes | date |  | วันที่ครบกำหนด - วันที่ตราสารหมดอายุและชำระคืนเงินต้น ต้องมาหลังจากวันชำระคูปองแรก |
| issue | Yes | date |  | วันที่ออกตราสาร - วันที่ตราสารเป็นอย่างเป็นทางการออกโดยผู้ออก ต้องเป็นวันแรกของลำดับวันที่ทั้งหมด |
| first_coupon | Yes | date |  | วันที่ชำระคูปองแรก - วันที่อัตราดอกเบี้ยถูกชำระครั้งแรก ต้องมาหลังจาก settlement แต่ก่อน maturity |
| rate | Yes | number |  | อัตราดอกเบี้ยประจำปี - อัตราคูปองประจำปีของตราสาร ระบุเป็นทศนิยม (เช่น 0.065 สำหรับ 6.5%) ต้องมากกว่าหรือเท่ากับ 0 |
| yld | Yes | number |  | ผลตอบแทนประจำปี - อัตราผลตอบแทนต่อปีที่ต้องการหรือที่คาดหวัง ระบุเป็นทศนิยม (เช่น 0.0625 สำหรับ 6.25%) ต้องมากกว่าหรือเท่ากับ 0 |
| redemption | Yes | number |  | มูลค่าชำระคืนต่อเงินหน้าตั๋ว $100 - จำนวนเงินที่ผู้ลงทุนจะได้รับต่อ $100 ของเงินหน้าตั๋ว ปกติเท่ากับ 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). หากละเว้นจะใช้ 0 |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: คำนวณราคาพื้นฐาน

```excel
=ODDFPRICE(DATE(2008,11,11), DATE(2021,3,1), DATE(2007,10,15), DATE(2008,3,1), 0.0785, 0.0625, 100, 2)
```

**ผลลัพธ์:** `113.596033`

โบนด์ที่ออกเมื่อ 15-ต.ค.-2007 ชำระคูปองแรกเมื่อ 1-มี.ค.-2008 (ช่วงแรกสั้นกว่าปกติ) ผู้ถือหลักทรัพย์ซื้อเมื่อ 11-พ.ย.-2008 ราคาจะเท่ากับ 113.60 ต่อเงินหน้าตั๋ว $100

### 2. ตัวอย่างที่ 2: ใช้กับการอ้างอิงเซลล์

```excel
=ODDFPRICE(A2, A3, A4, A5, A6, A7, 100, 2, 1)
```

**ผลลัพธ์:** `ค่าราคาตามข้อมูลในเซลล์`

โดยที่ A2=วันชำระ, A3=วันครบกำหนด, A4=วันออก, A5=วันชำระคูปองแรก, A6=อัตราดอกเบี้ย, A7=ผลตอบแทน ใช้ basis=1 (Actual/actual) สำหรับความแม่นยำสูง

### 3. ตัวอย่างที่ 3: ช่วงคูปองแรกยาว (long period)

```excel
=ODDFPRICE(DATE(2024,6,15), DATE(2030,12,15), DATE(2023,12,15), DATE(2024,12,15), 0.045, 0.050, 100, 2, 0)
```

**ผลลัพธ์:** `98.765432`

โบนด์ที่ออกเมื่อ 15-ธ.ค.-2023 แต่ชำระคูปองแรกเมื่อ 15-ธ.ค.-2024 (ช่วงแรกยาวกว่าปกติ 12 เดือน) ราคาน้อยกว่า 100 เพราะ yield สูงกว่า rate

### 4. ตัวอย่างที่ 4: ความแตกต่างของ basis

```excel
=ODDFPRICE(DATE(2024,1,15), DATE(2029,1,15), DATE(2023,1,15), DATE(2024,1,15), 0.06, 0.065, 100, 2, 0) vs =ODDFPRICE(DATE(2024,1,15), DATE(2029,1,15), DATE(2023,1,15), DATE(2024,1,15), 0.06, 0.065, 100, 2, 1)
```

**ผลลัพธ์:** `basis=0 ให้ 98.24, basis=1 ให้ 98.35`

วิธีนับวันที่ต่างกันจะให้ผลลัพธ์ที่แตกต่างกัน basis=0 (30/360) ใช้งานทั่วไปในตลาดสหรัฐ basis=1 (Actual/actual) ให้ความแม่นยำสูงขึ้น

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

- ODDFPRICE เป็นฟังก์ชันที่ซับซ้อน ดัชนี ODDFYIELD หากคุณต้องการหา yield ที่ให้ราคาที่กำหนด

- basis=0 (30/360) เป็นมาตรฐานในตลาดพันธบัตรสหรัฐ basis=1 (Actual/actual) นิยมใช้ในตลาดยุโรปและสมพท.ระหว่างประเทศ

- ทดสอบสูตรด้วยข้อมูลที่มีผลลัพธ์ที่ทราบแล้ว ก่อนใช้กับข้อมูลจริง เพื่อให้แน่ใจว่าการตั้งค่า basis และ frequency ถูกต้อง

- ถ้า first_coupon อยู่ไกลมาก (long period) อาจต้องพิจารณา accrued interest แยกต่างหาก เพราะ ODDFPRICE คำนวณเฉพาะราคาสุทธิ

- การเปลี่ยน basis มี impact ต่อ duration และ sensitivity ของตราสาร เมื่อเปรียบเทียบความเสี่ยง ต้องใช้ basis เดียวกัน

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

**Q: ความแตกต่างระหว่าง ODDFPRICE และ PRICE คืออะไร?**

PRICE ใช้สำหรับตราสารที่มีช่วงคูปองปกติทั้งหมด ส่วน ODDFPRICE ใช้สำหรับตราสารที่มีช่วงคูปองแรกแปลก (สั้นหรือยาว) หากตราสารของคุณมีช่วงคูปองปกติ ให้ใช้ PRICE จะสะดวกกว่า

**Q: ODDFPRICE คืนค่า #NUM! error เหตุใดจึงเป็นเช่นนั้น?**

#NUM! อาจเกิดจากหลายสาเหตุ: (1) ลำดับวันที่ผิด (ต้อง issue < settlement < first_coupon < maturity), (2) rate หรือ yld เป็นลบ, (3) basis ไม่ใช่ 0-4, (4) redemption เป็นศูนย์หรือลบ ตรวจสอบแต่ละพารามิเตอร์

**Q: ควรใช้ basis ไหนสำหรับตราสาร?**

ขึ้นอยู่กับประเภทของตราสารและตลาด: basis=0 (30/360) สำหรับพันธบัตร Corporate US, basis=1 (Actual/actual) สำหรับสมพท.ระหว่างประเทศ, basis=2 (Actual/360) นิยมในตลาดอัตราสูง ตรวจสอบข้อกำหนดของตราสาร

**Q: ODDFPRICE เป็นราคา clean หรือ dirty?**

ODDFPRICE คืนค่า clean price (ราคาสุทธิ) ซึ่งไม่รวม accrued interest ถ้าต้องการ dirty price (ราคาเต็ม) ต้องเพิ่ม accrued interest ด้วยตัวเอง

**Q: เมื่อไรควรใช้ ODDFYIELD แทน ODDFPRICE?**

ใช้ ODDFYIELD เมื่อคุณทราบราคาของตราสาร และต้องการหา yield (ผลตอบแทน) ส่วน ODDFPRICE ใช้เมื่อคุณทราบ yield และต้องการหาราคา ทั้งสองฟังก์ชันเป็นเหมือน inverse ของกันและกัน

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

- [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: ODDFPRICE Function](https://support.microsoft.com/en-us/office/oddfprice-function-d7d664a8-34df-4233-8d2b-922bcf6a69e1) _(official)_
- [Microsoft Learn: WorksheetFunction.OddFPrice](https://learn.microsoft.com/en-us/office/vba/api/excel.worksheetfunction.oddfprice) _(official)_

---

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