Thep Excel

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

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

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

ความนิยม4/10
ความยาก6/10
ประโยชน์6/10

อัปเดต 2 December 2025

Syntax & Arguments

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

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

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

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

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

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

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

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) นับวันจริง

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

ผลลัพธ์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)

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

ผลลัพธ์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 บาท) นี่คือตัวเลขที่ผู้ซื้อต้องจ่ายเพิ่มให้ผู้ขายนอกจากราคาพันธบัตร

fx
สมมติ:
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

ผลลัพธ์สัดส่วนดอกเบี้ยที่ผู้ขายมีสิทธิ์ได้รับ
พันธบัตรจ่ายทุก 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) เหมาะสำหรับตลาดพันธบัตรไทย

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

ผลลัพธ์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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ COUPDAYBS จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้COUPDAYBSFinancial
Financial (6)
COUPDAYS

ฟังก์ชันคำนวณจำนวนวันทั้งหมดในงวดคูปอง (coupon period) ที่มีวันชำระราคาอยู่

COUPDAYSNC

COUPDAYSNC ใช้คำนวณจำนวนวันตั้งแต่วันชำระราคา (settlement) จนถึงวันจ่ายดอกเบี้ยถัดไป (next coupon date) สำหรับพันธบัตรหรือหลักทรัพย์อื่น ๆ

COUPNCD

COUPNCD หาวันที่จ่ายดอกเบี้ย (coupon date) ครั้งต่อไปหลังจากวันชำระราคา ใช้สำหรับการคำนวณพันธบัตร

COUPNUM

COUPNUM นับจำนวนงวดดอกเบี้ย (coupon) ที่เหลือระหว่างวันซื้อพันธบัตรกับวันครบกำหนด ใช้สำหรับวิเคราะห์ลงทุนพันธบัตร

COUPPCD

หาวันจ่ายดอกเบี้ยครั้งก่อนหน้าวันชำระราคาของหุ้นกู้ ใช้ในการวิเคราะห์พันธบัตรและการลงทุนอักษร

DURATION

DURATION คำนวณ Macaulay Duration ของหลักทรัพย์ที่มีดอกเบี้ย ซึ่งเป็นการวัดอายุเฉลี่ยถ่วงน้ำหนักของกระแสเงินสด ใช้วัดความเสี่ยงจากการเปลี่ยนแปลงของอัตราดอกเบี้ย

Date and Time (1)
DATE

DATE สร้างวันที่จากตัวเลขปี เดือน วัน แยกกัน รองรับการบวก/ลบเดือนที่เกิน 12 หรือค่าลบ และปรับวันที่ให้อัตโนมัติ เหมาะสำหรับสร้างวันที่จากสูตรหรือใช้ในเงื่อนไข SUMIFS COUNTIFS AVERAGEIFS

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่