Thep Excel

COUPDAYBS – นับวันจากต้นงวดถึงวันซื้อพันธบัตร

COUPDAYBS คำนวณจำนวนวันตั้งแต่วันเริ่มต้นงวดดอกเบี้ยจนถึงวันที่ซื้อขายพันธบัตร (settlement date) ใช้สำหรับคำนวณดอกเบี้ยค้างรับในการซื้อขายพันธบัตร

=COUPDAYBS(settlement, maturity, frequency, [basis])

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
4/10

Difficulty
6/10

Usefulness
6/10

Syntax & Arguments

=COUPDAYBS(settlement, maturity, frequency, [basis])

Argument Type Required Default Description
settlement Date Yes วันที่ซื้อขายพันธบัตร (วันที่ผู้ซื้อรับมอบพันธบัตร) ต้องเป็นวันที่หลังจากวันออกพันธบัตร
maturity Date Yes วันครบกำหนดของพันธบัตร ต้องเป็นวันที่หลังจาก settlement
frequency Number Yes ความถี่ในการจ่ายดอกเบี้ยต่อปี: 1 = จ่ายปีละครั้ง, 2 = จ่ายทุก 6 เดือน, 4 = จ่ายทุก 3 เดือน
basis Number Optional 0 วิธีนับวันในปี: 0 หรือไม่ระบุ = US (NASD) 30/360, 1 = Actual/actual, 2 = Actual/360, 3 = Actual/365, 4 = European 30/360

Examples

ตัวอย่างพื้นฐาน – พันธบัตรจ่ายทุก 6 เดือน
COUPDAYBS(DATE(2024,1,25), DATE(2025,11,15), 2, 1)
พันธบัตรครบกำหนด 15 พ.ย. 2025 จ่ายดอกเบี้ยทุก 6 เดือน (วันที่ 15 พ.ค. และ 15 พ.ย.) ซื้อวันที่ 25 ม.ค. 2024 ซึ่งอยู่ในงวดที่เริ่ม 15 พ.ย. 2023 ผลลัพธ์ = 71 วัน (จาก 15 พ.ย. 2023 ถึง 25 ม.ค. 2024) ใช้ basis 1 (Actual/actual) นับวันจริง
Excel Formula:

=COUPDAYBS(DATE(2024,1,25), DATE(2025,11,15), 2, 1)

Result:

71

เปรียบเทียบ basis ต่างกัน
COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 0) =COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 1)
พันธบัตรเดียวกันแต่ใช้ basis ต่างกัน ได้ผลลัพธ์ต่างกัน basis 0 (30/360) ถือว่าทุกเดือนมี 30 วัน basis 1 (Actual/actual) นับวันจริง ในตลาดพันธบัตรไทยมักใช้ Actual/365 (basis 3)
Excel Formula:

=COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 0)
=COUPDAYBS(DATE(2024,3,15), DATE(2026,6,30), 2, 1)

Result:

75 (basis 0: 30/360)
74 (basis 1: Actual/actual)

คำนวณดอกเบี้ยค้างรับ
สมมติ: A2 = DATE(2024,4,10) (วันซื้อ) B2 = DATE(2027,12,31) (วันครบกำหนด) C2 = 2 (จ่ายทุก 6 เดือน) D2 = 100000 (มูลค่าพันธบัตร) E2 = 5% (อัตราดอกเบี้ยต่อปี) ดอก…
สูตรนี้คำนวณดอกเบี้ยค้างรับ (Accrued Interest) โดยหาสัดส่วนวันที่ผู้ขายถือพันธบัตร (COUPDAYBS/COUPDAYS) แล้วคูณกับดอกเบี้ยต่องวด (100,000 × 5% ÷ 2 = 2,500 บาท) นี่คือตัวเลขที่ผู้ซื้อต้องจ่ายเพิ่มให้ผู้ขายนอกจากราคาพันธบัตร
Excel Formula:

สมมติ:
A2 = DATE(2024,4,10) (วันซื้อ)
B2 = DATE(2027,12,31) (วันครบกำหนด)
C2 = 2 (จ่ายทุก 6 เดือน)
D2 = 100000 (มูลค่าพันธบัตร)
E2 = 5% (อัตราดอกเบี้ยต่อปี)

ดอกเบี้ยค้างรับ = (COUPDAYBS(A2,B2,C2,1) / COUPDAYS(A2,B2,C2,1)) * (D2 * E2 / C2)
=COUPDAYBS(A2,B2,C2,1) / COUPDAYS(A2,B2,C2,1) * 2500

Result:

สัดส่วนดอกเบี้ยที่ผู้ขายมีสิทธิ์ได้รับ

พันธบัตรจ่ายทุก 3 เดือน (Quarterly)
COUPDAYBS(DATE(2024,2,20), DATE(2029,12,31), 4, 3)
พันธบัตรจ่ายดอกเบี้ยทุก 3 เดือน (31 มี.ค., 30 มิ.ย., 30 ก.ย., 31 ธ.ค.) ซื้อวันที่ 20 ก.พ. 2024 อยู่ในงวดที่เริ่ม 31 ธ.ค. 2023 ผลลัพธ์ = 51 วัน ใช้ basis 3 (Actual/365) เหมาะสำหรับตลาดพันธบัตรไทย
Excel Formula:

=COUPDAYBS(DATE(2024,2,20), DATE(2029,12,31), 4, 3)

Result:

51

FAQs

COUPDAYBS ต่างจาก COUPDAYS และ COUPDAYSNC อย่างไร?

COUPDAYBS = วันจากต้นงวดถึงวันซื้อ, COUPDAYSNC = วันจากวันซื้อถึงวันจ่ายดอกเบี้ยครั้งถัดไป, COUPDAYS = จำนวนวันทั้งหมดในงวดดอกเบี้ย โดย COUPDAYBS + COUPDAYSNC = COUPDAYS

ทำไมต้องระบุ maturity แม้ว่าจะคำนวณเฉพาะงวดปัจจุบัน?

Excel ใช้ maturity เพื่อหางวดดอกเบี้ยย้อนหลังจากวันครบกำหนด ถ้าไม่มี maturity Excel จะไม่รู้ว่างวดเริ่มวันไหน โดยเฉพาะพันธบัตรที่วันครบกำหนดไม่ตรงกับวันจ่ายดอกเบี้ย

basis ไหนใช้บ่อยที่สุดในไทย?

ตลาดพันธบัตรไทยส่วนใหญ่ใช้ basis 3 (Actual/365) สำหรับพันธบัตรรัฐบาลและพันธบัตรองค์กร ส่วนตลาดต่างประเทศอาจใช้ basis 1 (Actual/actual) หรือ basis 0 (30/360) ขึ้นอยู่กับสกุลเงินและประเภทพันธบัตร

ใช้กับ Excel เวอร์ชันไหนได้บ้าง?

COUPDAYBS ใช้ได้กับ Excel 2007, 2010, 2013, 2016, 2019, Excel 365 และ Excel for Mac ทุกเวอร์ชันที่รองรับฟังก์ชันทางการเงิน

ถ้า settlement ตรงกับวันจ่ายดอกเบี้ยพอดี จะได้ผลลัพธ์เป็น 0 ใช่ไหม?

ใช่ ถ้าซื้อพันธบัตรตรงวันจ่ายดอกเบี้ย COUPDAYBS จะให้ผลลัพธ์เป็น 0 เพราะยังไม่มีดอกเบี้ยค้างรับในงวดใหม่ ผู้ขายจะได้รับดอกเบี้ยทั้งหมดของงวดที่แล้ว

Resources & Related

Additional Notes

COUPDAYBS เป็นฟังก์ชันสำหรับคำนวณจำนวนวันตั้งแต่วันเริ่มต้นของงวดดอกเบี้ย (coupon period) จนถึงวันที่ซื้อขายพันธบัตร (settlement date)

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

ตัวอย่างเช่น พันธบัตรจ่ายดอกเบี้ยทุก 6 เดือน (1 ม.ค. และ 1 ก.ค.) ถ้าซื้อวันที่ 25 ม.ค. COUPDAYBS จะคำนวณว่ามี 25 วัน (จาก 1 ม.ค. ถึง 25 ม.ค.) ที่ผู้ขายมีสิทธิ์ได้ดอกเบี้ย

ที่ต้องเข้าใจคือ COUPDAYBS นับจาก “วันเริ่มงวด” ไม่ใช่วันจ่ายดอกเบี้ยล่าสุด Excel จะหางวดย้อนหลังให้อัตโนมัติตาม frequency ที่ระบุ

ส่วนตัวผมใช้ฟังก์ชันนี้ร่วมกับ COUPDAYS เพื่อคำนวณสัดส่วนดอกเบี้ยค้างรับ = (COUPDAYBS/COUPDAYS) × ดอกเบี้ยต่องวด เป็นเทคนิคมาตรฐานในการคำนวณราคา Dirty Price ของพันธบัตร

Leave a Reply

Your email address will not be published. Required fields are marked *