Summary

The Excel COUPPCD function returns the previous coupon date before the settlement date for a coupon bond.

Purpose 

Get previous coupon date before settlement date

Return value 

Previous coupon date

Syntax

=COUPPCD(settlement,maturity,frequency,[basis])
  • settlement - Settlement date of the security.
  • maturity - Maturity date of the security.
  • frequency - Number of coupon payments per year (annual = 1, semi-annual = 2, quarterly = 4).
  • basis - [optional] Day count basis (see below, default =0).

How to use 

Historically, bonds were printed with an elaborate design on paper that included detachable coupons. The coupons were presented to the bond issuer by the bondholder to collect periodic interest payments. 

The Excel COUPPCD function returns the previous coupon date before the settlement date. The settlement date is the date the investor takes possession of a security. The maturity date is the date when the investment ends and the principle plus accrued interest is returned to the investor.  The frequency is the number of interest payments per year. Basis specifies the method used to count days (see below). In the example shown, the formula in F6 is:

=COUPPCD(C6,C7,C10,C11)

Entering dates

In Excel, dates are serial numbers. Generally, the best way to enter valid dates is to use cell references, as shown in the example. To enter valid dates directly, you can use the DATE function. Below is the formula in F6 reworked with hardcoded values and the DATE function:

=COUPPCD(DATE(2019,9,1),DATE(2029,1,1),2,0)

With these inputs, COUPPCD returns the same result, 1-Jul-2019.

Basis

The basis argument controls how days are counted. The COUPPCD function allows 5 options (0-4) and defaults to zero, which specifies US 30/360 basis. This article on wikipedia provides a detailed explanation of available conventions.

Basis Day count
0 or omitted US (NASD) 30/360
1 Actual/actual
2 Actual/360
3 Actual/365
4 European 30/360

Notes

  • In Excel, dates are serial numbers
  • All arguments are truncated to integers, so for example, time is ignored.
  • If settlement or maturity dates are not valid, COUPPCD returns #VALUE!
  • If basis is out-of-range , COUPPCD returns #NUM!
  • If maturity date is not later than settlement date, COUPPCD returns #NUM!
Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.