COUPDAYBS Function in Google Sheets: Formula, Examples & Troubleshooting
Find elapsed days in a regular coupon period with Google Sheets COUPDAYBS, explicit 30/360 examples, and a maturity-schedule audit.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Short answer
COUPDAYBS returns a day count from the beginning of the coupon period containing settlement to the settlement date. For the regular semiannual schedule below, settlement on March 15 follows a January 15 coupon date, giving 60 days under US 30/360.
Google’s opening description says “first coupon,” which can be misread as the first coupon ever paid. Its explicit published example instead supports the beginning of the current coupon period. Use the maturity date and payment frequency to identify that regular schedule.
Verification: NOT_TESTED_IN_GOOGLE_SHEETS. New results are independently calculated. Google’s public example is a published documentation control, not a new native test.
Syntax and arguments
=COUPDAYBS(settlement, maturity, frequency, [day_count_convention])
settlement: the security’s delivery date.maturity: its redemption date and the endpoint for the regular schedule.frequency: 1, 2, or 4 coupon payments per year.day_count_convention: optional, default 0.
The documented codes are 0 for US NASD 30/360, 1 for Actual/Actual, 2 for Actual/360, 3 for Actual/365, and 4 for European 30/360. This guide calculates new examples only with explicit basis 0 and ordinary midmonth dates. Use actual date values, such as values constructed with DATE. Google COUPDAYBS reference.
Example: audit an elapsed coupon period
Enter the following small bond-schedule dataset:
| Cell | Meaning | Entry |
|---|---|---|
| B2 | Settlement | =DATE(2026,3,15) |
| B3 | Maturity | =DATE(2028,1,15) |
| B4 | Payments per year | 2 |
| B5 | Day-count basis | 0 |
In B7 enter:
=COUPDAYBS(B2,B3,B4,B5)
The expected result is 60. A regular semiannual schedule ending January 15 has January 15 and July 15 coupon dates. The period containing March 15, 2026 therefore starts January 15, 2026. With these ordinary dates, the 30/360 arithmetic is 30*(3-1)+(15-15)=60.
This is a day count, not an amount of interest or a percentage. The actual calendar difference from January 15 to March 15, 2026 is 59 days. That comparison is ordinary calendar arithmetic; it is not a native test of another COUPDAYBS basis.
Check the direction and the schedule
Keep B3:B5 fixed and compare:
| Settlement | Formula | Expected basis-0 days |
|---|---|---|
| March 15, 2026 | =COUPDAYBS(DATE(2026,3,15),$B$3,$B$4,$B$5) |
60 |
| May 15, 2026 | =COUPDAYBS(DATE(2026,5,15),$B$3,$B$4,$B$5) |
120 |
| July 14, 2026 | =COUPDAYBS(DATE(2026,7,14),$B$3,$B$4,$B$5) |
179 |
All three settlements lie strictly inside the same coupon period. No result at the exact July 15 boundary is asserted here.
Changing maturity can change the schedule even when settlement and frequency stay fixed. With maturity April 15, 2028, the regular semiannual dates are April 15 and October 15. March 15, 2026 then follows October 15, 2025, giving an independently expected 150 for =COUPDAYBS(DATE(2026,3,15),DATE(2028,4,15),2,0).
Published control: 106 days
Google’s public sheet gives settlement January 31, 2011, maturity October 15, 2012, frequency 2, and basis 0 in B1:B4. It explicitly prints =COUPDAYBS(B1,B2,B3,B4) and shows 106. The preceding scheduled coupon is October 15, 2010. This is the primary evidence for the current-period interpretation; the help page’s second public sheet shows 122 for another dataset but does not expose a matching formula, so it is only corroborative. Published COUPDAYBS control.
The 106 result also warns against replacing every day numbered 31 with 30 indiscriminately. This article does not generalize a complete month-end adjustment algorithm from that single control.
Advanced application: an accrual worksheet audit
Suppose a separate contractual model specifies a 30-unit coupon for a 180-day period. With B7 equal to 60, =30*B7/180 gives 10 units of proportional accrual. At 120 elapsed days the same model gives 20.
These are arithmetic audit amounts under the stated assumptions. COUPDAYBS itself returns only days; it does not determine the coupon amount, legal accrual convention, transaction price, or treatment of an irregular first coupon. Keep those inputs explicit rather than treating the day count as a complete valuation.
Troubleshooting and limits
- A result from the wrong period often points to an incorrect maturity date or frequency. Reconstruct the scheduled dates before changing the basis.
- Date-looking text can be ambiguous. Use DATE and inspect the stored values.
- A day-count difference need not be a calendar subtraction error; 30/360 and actual-day arithmetic are different models.
- Frequency values outside the documented 1, 2, and 4 choices are outside this guide. Exact invalid-input error codes were not established.
- Exact-coupon settlement, irregular coupons, settlement at or after maturity, and a full month-end/basis comparison remain untested here.
Software, versions, and references
The interpretation above is tied to Google’s own published formula and output, not imported from Excel or another product. Introduction and retirement dates were not established in the reviewed sources.
Related: DATE, DAYS360, and DATEDIF.
First-party references reviewed October 17, 2026: Google COUPDAYBS help and its linked public example above.