Excel Financial Functions 財務函數
在商業與投資的世界中,錢是有「時間價值」的。今天的 100 萬與十年後的 100 萬價值完全不同。Excel 內建了超過 50 個財務函數,本篇將深入介紹最實用的核心函數,幫助你輕鬆處理房貸計算、投資評估、資產折舊等財務模型。
在使用 Excel 財務函數前,請務必遵循現金流正負號規則 (方向性):
- 負數 (流出):代表你從口袋拿錢出來。例如:支付房貸、買入股票、期初投入資金。
- 正數 (流入):代表錢進到你口袋。例如:領取薪水、賣出資產、領取利息回報。
貨幣時間價值 (TVM):基礎五大函數
這五個函數(PV, FV, PMT, RATE, NPER)是連動的。
常用參數說明
| 參數 | 說明 | 意義 |
|---|---|---|
| Rate | 利率 | 每期的利率(如果是月繳,年利率要除以 12)。 |
| Nper | 期數 | 總付款期數(如果是 20 年月繳,則為 20*12 = 240)。 |
| Pmt | 年金 | 每期固定支付或領取的金額。 |
| Pv | 現值 | 該筆錢目前的價值(初始投資或貸款總額)。 |
| Fv | 終值 | 最後一筆付款後要達到的價值(餘額或目標總額)。 |
| Type | 類型 | 0 (預設):期末支付;1:期初支付。 |
PV (現值):這筆錢現在值多少?
- 語法:
=PV(rate, nper, pmt, [fv], [type]) - 範例:有一份保單承諾 10 年後給付 100 萬,假設年利率 3%,這份保單現在值多少?
- 公式:
=PV(3%, 10, 0, 1000000) - 結果:約
-744,094元。
- 公式:
FV (終值):未來能滾出多少錢?
- 語法:
=FV(rate, nper, pmt, [pv], [type]) - 範例:每個月存 1 萬,存 20 年,假設年報酬率 6%,最後能拿到多少?
- 公式:
=FV(6%/12, 20*12, -10000, 0) - 結果:約
4,620,409元。
- 公式:
PMT (每期付款):每個月要繳多少?
- 語法:
=PMT(rate, nper, pv, [fv], [type]) - 範例:房貸 1000 萬,分 30 年,年利率 2%,每月本息平均攤還多少?
- 公式:
=PMT(2%/12, 30*12, 10000000) - 結果:約
-36,962元。
- 公式:
RATE (利率):這份投資的年化報酬?
- 語法:
=RATE(nper, pmt, pv, [fv]) - 範例:原本投 100 萬,5 年後變 130 萬。
- 公式:
=RATE(5, 0, -1000000, 1300000) - 結果:約
5%。
- 公式:
NPER (期數):還要繳多久?
- 語法:
=NPER(rate, pmt, pv, [fv]) - 範例:你想存到 200 萬,現在有 50 萬,且每月存 1 萬,假設年利率 4%。
- 公式:
=NPER(4%/12, -10000, -500000, 2000000) - 結果:約
107個月。
- 公式:
投資評估與現金流:決策利器
對專案或資產進行評估時,現金流往往是不固定的。
NPV (淨現值)
在財務分析中,淨現值 (Net Present Value, NPV) 是一個至關重要的指標,用來評估一項投資計畫是否值得執行。簡單來說,它考慮了「時間價值」,將未來的現金流入折現回現在的價值,再扣除初始成本。
- 語法:
=NPV(rate, value1, [value2], ...) - 範例:投資 100 萬,預期未來四年回收 30, 40, 50, 60 萬。折現率 10%。
- 公式:
=NPV(10%, 300000, 400000, 500000, 600000) - 1000000 - 註:NPV 函數僅處理「未來」現金流,初始投資需手動減去。
- 公式:
NPV 的判斷指標:
- NPV > 0:代表投資的報酬高於預期折現率,該計畫值得投資。
- NPV < 0:代表投資報酬低於折現率,該計畫應被拒絕。
- NPV = 0:代表剛好達到預期的報酬水準。
IRR (內部報酬率)
內部報酬率 (Internal Rate of Return, IRR) 是一個重要的指標,用來衡量投資的平衡回報率。如果說 NPV 是告訴你這筆投資「能賺多少錢(絕對值)」,那麼 IRR 就是告訴你這筆投資「年化報酬率是多少(百分比)」。
- 語法:
=IRR(values, [guess])- values (必填):包含現金流量的儲存格範圍。
- 數值必須包含至少一個負值(初始投資)和一個正值(收益)。
- Excel 會依照數值的順序來識別時間點(第 0 期, 第 1 期...)。
- guess (選填):你對 IRR 結果的預期值(預設為 10%)。通常不需要填寫,除非 Excel 算不出來回報
#NUM!。
- values (必填):包含現金流量的儲存格範圍。
- 範例:期初投 100 萬,接下來五年分別收回 10, 20, 30, 40, 50 萬。
- 範圍:
{-1000000, 100000, 200000, 300000, 400000, 500000} - 公式:
=IRR(A1:A6) - 結果:約
12.01%。
- 範圍:
XNPV 與 XIRR (不定期現金流)
現實世界中,投資款不一定剛好是規律的每年發生。
XNPV
在 Excel 中,XNPV 是 NPV 的進階版。兩者最大的不同在於:NPV 假設現金流是「定期」發生的(例如固定每年末領一次錢);而 XNPV 可以處理「日期不固定」的現金流。在現實生活中,投資入帳的日期通常不會剛好都是整整一年,這時用 XNPV 才會精確。
- 語法:
=XNPV(rate, values, dates)- rate (必填):年折現率(例如 10%)。
- values (必填):現金流量的範圍。必須包含初始投資(負數)。
- dates (必填):對應每一筆現金流的具體日期。
範例:
| 日期 | 現金流 |
|---|---|
| 2023/1/1 | -100,000 |
| 2023/3/1 | 20,000 |
| 2023/10/30 | 50,000 |
| 2024/2/15 | 40,000 |
- 公式:
=XNPV(10%, B1:B4, A1:A4) - 結果:該投資的淨現值約為
1,842元 (獲利)。
XNPV 幫你把這三筆未來的錢全部換算回 2023/1/1 那一天的價值,加總後扣掉 10 萬成本,剩下的就是這筆投資的淨利潤。
XIRR
XIRR (Extended Internal Rate of Return) 是 Excel 中最強大、也最接近真實投資情況的報酬率計算函數。如果說 IRR 假設你的收支是「每年(或每期)固定時間」發生,那麼 XIRR 就是為了處理「日期完全不固定」的投資而設計的。
在現實投資中,我們很少剛好在每年 1 月 1 日投錢或領錢。
- 定期定額基金:扣款日可能是每月的 6 號、16 號、26 號。
- 儲蓄險/保單:繳費日跟領回紅利的日期通常相隔數年且天數不一。
- 股票買賣:隨時看準時機加碼或出脫,日期完全隨機。
XIRR 會根據「實際天數」來計算年化報酬率,精確度比 IRR 高得多。
- 語法:
=XIRR(values, dates, [guess])- values (必填):現金流量。必須包含至少一個負值(投出去的錢)和一個正值(拿回來的錢)。
- dates (必填):對應每一筆現金流的具體日期。
- guess (選填):預估報酬率(預設為 10%)。通常不用填。
範例:
| 日期 | 現金流 |
|---|---|
| 2023/1/1 | -1,000,000 |
| 2023/5/20 | 200,000 |
| 2024/3/15 | 900,000 |
- 公式:
=XIRR(B1:B3, A1:A3) - 結果:約
9.5%。
MIRR (改良式內部報酬率)
MIRR (Modified Internal Rate of Return,改良內部報酬率) 是為了修正傳統 IRR 的缺陷而設計的進階指標。在財務分析中,傳統 IRR 有個不切實際的假設:它假設你中途領回來的錢,都能以「同樣的高報酬率 (IRR)」再投資。但現實中,如果你有個專案報酬率是 50%,你領回來的錢很難再找到另一個 50% 的項目。MIRR 則允許你設定更現實的「再投資利率」。
- 語法:
=MIRR(values, finance_rate, reinvest_rate)- values (必填):現金流量範圍(必須包含初始投資的負值)。
- finance_rate (融資利率):你借錢投資所支付的利息成本。
- reinvest_rate (再投資利率):你把賺到的錢拿去轉投其他地方(如定存、無風險資產)的預期回報率。
範例:投資 100 萬,未來三年回收 30, 40, 50 萬。融資利率 5%,再投資利率 3%。
- 公式:
=MIRR({-1000000, 300000, 400000, 500000}, 5%, 3%) - 結果:約
7%。
貸款利息與本金拆解
想知道房貸中哪一部分是給銀行賺的利息?
- IPMT (利息支出):
=IPMT(rate, per, nper, pv)- 範例:1000 萬房貸 (2%) 第 1 期利息:
=IPMT(2%/12, 1, 360, 10000000)
- 範例:1000 萬房貸 (2%) 第 1 期利息:
- PPMT (本金償還):
=PPMT(rate, per, nper, pv)- 範例:1000 萬房貸 (2%) 第 1 期本金:
=PPMT(2%/12, 1, 360, 10000000)
- 範例:1000 萬房貸 (2%) 第 1 期本金:
- CUMIPMT (累計利息):
=CUMIPMT(rate, nper, pv, start, end, type)- 範例:首年 (1~12 期) 總利息:
=CUMIPMT(2%/12, 360, 10000000, 1, 12, 0)
- 範例:首年 (1~12 期) 總利息:
- CUMPRINC (累計本金):
=CUMPRINC(rate, nper, pv, start, end, type)- 範例:首年歸還總本金:
=CUMPRINC(2%/12, 360, 10000000, 1, 12, 0)
- 範例:首年歸還總本金:
資產折舊:稅務與成本管理
資產價值隨時間遞減,常用幾種折舊方法:
| 函數 | 語法 | 說明 |
|---|---|---|
| SLN | =SLN(cost, salvage, life) | 直線折舊法:每年折舊金額固定。 |
| SYD | =SYD(cost, salvage, life, per) | 年數合計法:折舊隨年分遞減。 |
| DB | =DB(cost, salvage, life, period) | 固定餘額遞減法:以固定比率計算。 |
| DDB | =DDB(cost, salvage, life, period) | 雙倍餘額遞減法:初期負擔最重。 |
| VDB | =VDB(cost, salvage, life, start, end) | 變動餘額遞減法:可切換直線法。 |
範例:機器 10 萬,殘值 1 萬,用 5 年。
- SLN (第 1 年):
=SLN(100000, 10000, 5)→18,000 - DDB (第 1 年):
=DDB(100000, 10000, 5, 1)→40,000(加速折舊)
債券相關函數
- PRICE (價格):
=PRICE(settlement, maturity, rate, yld, redemption, frequency) - YIELD (殖利率):
=YIELD(settlement, maturity, rate, pr, redemption, frequency) - ACCRINT (應計利息):
=ACCRINT(issue, first_interest, settlement, rate, par, frequency) - COUPNUM (付息次數):
=COUPNUM(settlement, maturity, frequency) - COUPDAYS (計息天數):
=COUPDAYS(settlement, maturity, frequency)
範例 (付息次數):結算日 2023/1/1,到期日 2025/1/1,半年配息一次。
- 公式:
=COUPNUM("2023/1/1", "2025/1/1", 2)→ 結果為4次。
綜合練習:這張壽險保單買得過嗎?
保險業務員說:現在一次繳 100 萬,20 年後可以領回 160 萬。
- 計算年化報酬率:
=RATE(20, 0, -1000000, 1600000)結果約為2%。 - 決策評估: 如果當時定存利率有 2.5% 或台股 ETF 長期報酬率有 7%,這張保單的吸引力顯然非常低。這就是財務函數賦予你的「財務分析力」。
學會了這些,你已經能建立比 95% 的人更專業的財務試算表了。