WorksheetFunction.Price 方法 (Excel)

會傳回證券每 100 元面額所應付的定期利息。

語法

運算式Price (Arg1Arg2Arg3Arg4Arg5Arg6Arg7)

表達 代表 WorksheetFunction 物件的 變數。

參數

名稱 必要/選用 資料類型 描述
Arg1 必要 Variant Settlement - 證券的結算日。 證券結算日是證券交割給買方後的次日。
Arg2 必要 Variant Maturity - 證券的到期日。 超過此日,證券即過期。
Arg3 必要 Variant Rate - 證券的年度票息率。
Arg4 必要 Variant Yld - 證券的年收益。
Arg5 必要 Variant Redemption - 證券每 100 元面額的贖回價。
Arg6 必要 Variant Frequency - 每年票息付款的次數。 若每年付款一次,則 frequency = 1;若半年付款一次,則 frequency = 2;若每季付款一次,則 frequency = 4。
Arg7 選用 Variant Basis - 要使用的日計數基礎類型。

傳回值

雙精確度

註解

重要事項

日期必須使用 DATE 函數來輸入,或是使用其他公式或函數的計算結果來輸入。 例如,使用 DATE(2008,5,23) 表示 2008 年 5 月 23 日。 若使用文字格式輸入日期,可能會發生問題。

下表描述可用於 Arg7 的值。

基礎 日計數基礎
0 或省略 US (NASD) 30/360
1 實際/實際
2 實際/360
3 實際/365
4 歐洲 30/360

Microsoft Excel 會以連續的序列值來儲存日期,以便用來計算。 根據預設,1900 年 1 月 1 日是序列值 1,而 2008 年 1 月 1 日則是序列值 39448,因為這是 1900 年 1 月 1 日之後的第 39,448 天。 Microsoft Excel for the Macintosh 則使用不同的預設日期系統。

注意事項

Visual Basic for Applications (VBA) 會以不同于 Excel 的方式計算序列日期。 在 VBA 中,序號 1 是 1899 年 12 月 31 日,而不是 1900 年 1 月 1 日。

結算日期是買方購買優待券的日期,例如證券。 到期日是優待券到期的日期。 例如,假設 30 年期的證券是在 2008 年 1 月 1 日發行,而買方會在六個月後購買。 發行日期為 2008 年 1 月 1 日,結算日期為 2008 年 7 月 1 日,到期日為 2038 年 1 月 1 日,也就是 2008 年 1 月 1 日發行日期後的 30 年。

會將 settlement、maturity、frequency 及 basis 無條件捨去成整數。

如果 settlement 或 maturity 不是有效的日期, Price 會傳回#VALUE! 錯誤值。

如果 yld < 0 或 rate < 0, Price 會傳回#NUM! 錯誤值。

如果兌換≤ 0, Price 會傳回#NUM! 錯誤值。

如果 frequency 是 1、2 或 4 以外的任何數位, Price 會傳回#NUM! 錯誤值。

如果 basis < 0 或 basis > 4, Price 會傳回#NUM! 錯誤值。

如果 settlement ≥ maturity, Price 會傳回#NUM! 錯誤值。

價格 的計算方式如下:

公式

其中:

  • DSC = 從結算到下一個票息日期的天數。
  • E = 結帳日期落在票息期間的天數。
  • N = 結算日期與兌換日期之間可支付的優待券數目。
  • = 從票息週期開始到結算日期的天數。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應