COUPPCD函数用于计算成交日之前的上一付息日。COUPPCD函数的语法如下:


COUPPCD(settlement,maturity,frequency,basis)

其中,settlement参数为证券的结算日,结算日是在发行日之后,证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。frequency参数为年付息次数,如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis参数为日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。

打开“COUPPCD函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-35所示。该工作表中记录了已知某债券的结算日、到期日、支付方式等信息,要求根据给定的条件计算在这些条件下的债券成交日之前的上一付息日。具体的操作步骤如下。

选中A7单元格,在编辑栏中输入公式“=COUPPCD(A2,A3,A4,A5)”,然后按“Enter”键返回,即可计算出债券结算日之前的付息日,如图19-36所示。

Excel 计算上一付息日:COUPPCD函数-Excel22

图19-35 原始数据

Excel 计算上一付息日:COUPPCD函数-Excel22

图19-36 计算结算日之前的付息日

如果settlement参数或maturity参数不是合法日期,则函数COUPPCD将返回错误值“#VALUE!”。如果frequency参数不为1、2或4,则函数COUPPCD将返回错误值“#NUM!”。如果参数basis<0或者参数basis>4,则函数COUPPCD返回错误值“#NUM!”。如果参数settlement≥maturity参数,则函数COUPPCD返回错误值“#NUM!”。