傳回假定面額為 100 元之證券的 Macauley 修正有效期間。
語法
表達。Muration (Arg1、Arg2、Arg3、Arg4、Arg5、Arg6)
詞 代表 WorksheetFunction 物件的變數。
參數
| 名稱 | 必要/選用 | 資料類型 | 描述 |
|---|---|---|---|
| Arg1 | 必要 | Variant | Settlement - 證券的結算日。 證券結算日是證券交割給買方後的次日。 |
| Arg2 | 必要 | Variant | Maturity - 證券的到期日。 超過此日,證券即過期。 |
| Arg3 | 必要 | Variant | Coupon - 證券的年度票息率。 |
| Arg4 | 必要 | Variant | Yld - 證券的年收益。 |
| 引數5 | 必要 | Variant | Frequency - 每年票息付款的次數。 若每年付款一次,則 frequency = 1;若半年付款一次,則 frequency = 2;若每季付款一次,則 frequency = 4。 |
| 引數6 | 選用 | Variant | Basis - 要使用的日計數基礎類型。 |
傳回值
雙精確度
註解
重要事項
日期必須使用 DATE 函數來輸入,或是使用其他公式或函數的計算結果來輸入。 例如,使用 DATE(2008,5,23) 表示 2008 年 5 月 23 日。 若使用文字格式輸入日期,可能會發生問題。
下表說明可用於 Arg6 的值。
| 本 | 日計數基礎 |
|---|---|
| 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 無條件捨去成整數。
如果結算或到期不是有效日期, MDuration 會傳回 #VALUE! 錯誤值。
如果 yld < 0 或優惠券 < 0,則 MDuration 會傳回 #NUM! 錯誤值。
如果 frequency 是 1、2 或 4 以外的任何數字,則 MDuration 會傳回 #NUM! 錯誤值。
如果基數 < 為 0 或基數 > 4,則 MDuration 會傳回 #NUM! 錯誤值。
如果結算≥到期, MDuration 會返回 #NUM! 錯誤值。
修改後的持續時間定義為 
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。