XIRR 是什麼?XIRR 公式與 Excel/Google 試算表算法|台股、美股報酬率範例

主筆 | 更新於 ・ 首次發佈 | 商業/科技前沿參考 讀書心得資料整理 關於財富與賺錢 | 4 minutes of reading

這篇文章另有以下語言版本:English・日本語・한국어・Bahasa Indonesia・Bahasa Melayu・ไทย・Português (Brasil)・Español・Türkçe・Tiếng Việt・Deutsch・हिन्दी

本篇目錄(33 節)

XIRR 是算「錢有進有出的時候,平均每年賺多少」的公式。只要把每一筆投入、提領的日期和金額列出來,在 Excel 或 Google 試算表輸入 =XIRR(金額, 日期),電腦就會幫你算出年化報酬率~

但是XIRR在美股、台股上的資料格式使用邏輯不同,所以才有這篇整理。先給趕時間的人一張速查表:

問題 一句話答案
XIRR 是什麼 錢不定時進出時的年化報酬率(內部報酬率的一種)
函數怎麼寫 =XIRR(金額範圍, 日期範圍),Excel 和 Google 試算表一樣
正負號 投入記負數;提領、期末市值記正數
最少要有 至少一筆負數+一筆正數,不然會出現 #NUM!
算例 1,000 元放一年變 1,800 元,XIRR 約 80.29%
只有單筆投入 中途沒進出時結果和 CAGR 幾乎一樣,用哪個都行

速查表的每一列,下面都有完整的步驟和範例;第一次用的人,照「一步一步來」那段做一次就會了。

黑底標題「XIRR 是什麼?」,副標「錢有進有出時的年化報酬率」,時間軸上投入記負數、提領與期末市值記正數,公式 =XIRR(金額, 日期)。

老喬先科普一下XIRR

XIRR是什麼?

XIRR用來計算整體資產的報酬率。它是 Excel 的函數名稱,微軟的說明是「傳回一系列現金流的內部報酬率,該現金流不必是定期性的」——白話就是:錢什麼時候進、什麼時候出都沒關係,有日期就能算。

XIRR的計算容易,只需要有以下四種資料就能夠計算

  • 期初的資產總額(金融資產+現金)
  • 期末的資產總額(金融資產+現金)
  • 期間的提領
  • 存入

操作計算可以參考官方 Microsoft XIRR 函數說明、Google 試算表 XIRR 說明,或是接著看下去老喬的範例

XIRR、IRR、CAGR、TWR 之間的差異

XIRR最好用,四個指標放在一起比較清楚:

指標 適合算什麼
XIRR 錢不定時進出的個人帳戶,只要有日期就能算
IRR 金流間隔固定的情況(例如每年同一天、每月同一天)
CAGR 單筆投入、中途不加碼也不提領的長期成長(CAGR 年複合成長率的完整說明)
TWR 基金、經理人的操盤績效,刻意排除投資人自己進出的影響(TWR 時間加權報酬率)

前三個是「個人視角」的指標。如果你看到的是基金、投顧、私募的對外揭露,他們用的不是 XIRR,而是 TWR——一個刻意把投資人行為剝離掉、只評估操盤策略本身的指標。

XIRR越高越好嗎?

是啊

只是這不能跟自己比,要記得去跟市場作比較,不然沒意義。長期大盤的參考值可以看 CAGR 那篇的對照表,例如美股 S&P 500 長期約 10%、台灣 0050 約 8–9%。

另外要注意,XIRR 會把報酬「換算成一年」。放很短的時間,數字就會被放大:

情況 XIRR
1,000 元放 2 個月(59 天)變 1,100 元(賺 10%) 約 80.33%
1,000 元放 1 年變 1,800 元(賺 80%,範例 A) 約 80.29%

兩種情況的 XIRR 幾乎一樣,但實際賺到的錢差了 8 倍。持有不到一年時,記得把「總共賺了多少」一起看,不要只看 XIRR。

老喬為什麼用XIRR做計算

因為紀錄的東西少,又可以直接使用Excel, Google sheet 做紀錄,快又方便

老喬的資金進出時間很不一定,XIRR只要有日期就好,比起其他公式,彈性又方便

XIRR 公式:函數怎麼寫、背後在算什麼

函數寫法在 Excel 和 Google 試算表是同一個順序,金額在前、日期在後:

軟體 寫法
Excel =XIRR(values, dates, [guess])
Google 試算表 =XIRR(現金流量金額, 現金流量日期, [猜測利率])

第三格是「預估值」,可以不填,不填時兩套軟體都預設 10%。一般記帳用不到,只有算不出來時才需要(見下面的錯誤對照)。

背後在算的事情是:找一個年利率 r,把每一筆金額依「距離第一筆過了幾天 ÷ 365」折回第一天,全部加起來剛好等於 0。

每筆金額 ÷ (1 + r)^(距第一筆的天數 ÷ 365) 的總和 = 0

這個 r 就是 XIRR。以範例 A 來說:1,000 元投入,364 天後變 1,800 元,代進去就是 −1,000 + 1,800 ÷ (1 + r)^(364 ÷ 365) = 0,解出 r 約 80.29%。只有兩筆時還能直接開根號算,金流一多就沒辦法直接解;Excel 是用反覆試算去逼近答案,所以實務上都交給函數或計算機。

用 Excel 或 Google 試算表算 XIRR:一步一步來

步驟 1:日期放 A 欄、金額放 B 欄

列 A(日期) B(金額)
1 日期 金額
2 2022/11/15 -1000
3 2023/11/14 1800

放資料時有三件事要注意:

  • 第一列資料放最早的那一筆。後面的順序可以亂,但不能有任何日期早於第一列,不然會出現 #NUM!。
  • 日期要是真的「日期」,不能是文字。輸入後如果自動靠右對齊,通常就是日期;靠左對齊多半被當成文字了,可以改用 =DATE(2022,11,15) 輸入。
  • 金額只打數字和負號,不要打「1,800元」這種帶文字的寫法。

步驟 2:在空白格輸入公式

在 C2(或任何空白格)輸入 =XIRR(B2:B3, A2:A3)。先選金額、再選日期,兩個範圍的列數要一樣。

試算表畫面:公式列為 =XIRR(B2:B3, A2:A3),A 欄日期 2022/11/15 與 2023/11/14,B 欄金額 -1,000 與 1,800,XIRR 結果 80.29%。

之後每多記一筆,就把兩個範圍一起拉長,例如三筆就改成 =XIRR(B2:B4, A2:A4)。

步驟 3:按 Enter,再改成百分比

剛算出來會是 0.8029 這種小數,要改成百分比才好讀:

  • Excel:在「常用」頁籤按「%」。預設不帶小數,看到 80% 時再按「增加小數位數」兩次,就是 80.29%。
  • Google 試算表:按工具列上的「%」(格式設為百分比),會直接顯示 80.29%。

正數還是負數?XIRR 的正負號規則

XIRR 是站在「你的口袋」看帳戶:錢從口袋放進帳戶是負的,從帳戶回到口袋是正的。

這筆錢 記成
投入、存進帳戶 負數
從帳戶提領出來花 正數
期末帳戶總值(或還沒賣的股票市值) 正數
留在帳戶裡的股利、利息 不記

最常見的錯,是把投入也打成正數。全部都是正數時,XIRR 找不到答案,會直接回 #NUM!:

兩格迷因圖:上格把投入 1,000 和期末 1,800 都打成正數,旁白「反正都是我的錢嘛」;下格圓臉角色嚇到冒汗,旁邊是紅字 #NUM!;底下寫 XIRR 要有一進一出:投入記負數。

算不出來?XIRR 常見錯誤對照

看到什麼 多半是因為 怎麼修
#NUM! 金額全是正數,或全是負數 投入改成負數
#NUM! 有日期早於第一列的日期 把最早那筆移到第一列
#NUM! 金額和日期的格數不一樣 兩個範圍對齊,例如 B2:B4 配 A2:A4
#NUM! 試算 100 次還找不到答案 第三格填一個接近的預估值
#VALUE! 日期無效,例如不存在的日期 用 =DATE(年,月,日) 重新輸入
錯誤或結果怪怪的 日期被存成文字,或金額裡夾了文字(例如「1,800元」) 日期用 DATE 重打、金額改成純數字 1800
0.8029 這種小數 還沒改成百分比 按「%」

前四種 #NUM! 和日期無效的 #VALUE!,都是微軟官方說明裡列的情況;文字日期、帶字金額官方沒寫會出哪種錯誤,只提醒文字日期可能出問題,所以一律改成真的日期和純數字最保險。看到錯誤時從表格第一列往下對,通常前兩列就能找到原因。

XIRR在美國股市上的應用計算題

XIRR在計算美國股市報酬時,簡單又好用。因為美國的制度,股市帳戶與現金帳戶,是合在一起的

舉例來說,老喬自己在使用Firstrade、嘉信理財的時候,只要看資產總額,就會加總 現金購買力 與 股票市值

這樣的結構,在運用XIRR上非常的方便

XIRR範例A:放入帳戶1000元資金,全部購買股票,一年後全部結清

步驟邏輯

  • 2022/11/15 投入 1,000到帳戶,全部買股票
    • 假設當天1,000全部都買股票了,沒有現金剩下來
  • 2023/11/14 股票全部賣出,市場價值為 1,800
  • XIRR會長成這樣:=XIRR(B2:B3, A2:A3)
    • 金額就是 -1000, 1800 的數字
    • 日期就是上面兩個日期

試算表就長得像上面步驟 2 那張圖,結果是 80.29%。

XIRR範例B~D:沒買完的現金、留在帳戶的股利、股息再投資,都不用另外記

接下來三個範例都是:2022/11/15 放入帳戶 1,000 元,花 700 買股票、300 元本金放著,2023/11/14 全部結清。為了區分跟範例 A 的數字,這邊假設最終市場價值從 1,800 變為 1,500 吧

範例 中間發生的事 要不要另外記
B 700 買股票,300 現金留在帳戶 不用,錢沒離開帳戶
C 2023/08/01 發現金股利 50,留在帳戶 不用,期末總值已算進去
D 股利 50 採股息再投資計劃,自動買股票 不用,一樣沒離開帳戶

三題的判斷都一樣:這筆錢有沒有離開帳戶?沒有就不用記。所以三題都只記兩筆——2022/11/15 −1,000、2023/11/14 +1,500,XIRR 都是 50.17%。跟範例 A 比起來之所以變成 50.17%,只是因為市場價值變為 1,500 了。

除非在最後結算的市場價值有變動,否則完全不需要另外紀錄任何事,這是美股在使用XIRR上非常方便的地方

XIRR範例E:放入帳戶1000元資金,花了700購買股票,300元本金放著,中間發了一次現金股利50,採用股息再投資計劃,中間提領300去買星巴克,一年後全部結清

這題狀態就很不相同,因為提領了300元去買星巴克,有金流離開帳戶了~

步驟邏輯

  • 2022/11/15 投入 1,000到帳戶
    • 700元買股票,剩下300元現金
  • 2023/04/21 提領300元去買星巴克
    • 因為從帳戶中變現300元,所以這邊金流的呈現是正的 300
    • 剩下的股票就繼續放著,直到最後由市場價賣出
  • 2023/08/01 發放現金股利50,自動再投資
    • 跟範例 D 一樣,沒有提出帳戶,不需要紀錄
  • 2023/11/14 股票全部賣出,市場價值為 1,500
  • XIRR會長成這樣:=XIRR(B2:B4, A2:A4)
    • 金額就是 -1000, 300, 1500 的數字
    • 日期就是上面三個日期(股利那天不用列)
  • XIRR之所以增長,是因為取出現金300之後,報酬依然維持在1500
    • 代表報酬更好,XIRR自然更高

試算表畫面:公式列 =XIRR(B2:B4, A2:A4),日期 2022/11/15、2023/04/21、2023/11/14 對應金額 -1,000、300、1,500,XIRR 結果 94.04%。

XIRR在台灣股市上的應用計算題

台股跟美股最大的不同在帳戶結構:台灣的證券戶只放股票,錢放在另一個銀行「交割戶」。買股票時券商從交割戶扣款;賣股票的錢會回到交割戶,現金股利一般也是匯進交割戶。

所以台股用 XIRR,第一步是先決定「帳戶」要算到哪裡,常見有兩種做法:

  • 交割戶只拿來投資:把「股票市值+交割戶裡的錢」當成一個帳戶,就跟上面的美股範例一模一樣,只有從外面轉錢進交割戶、或從交割戶轉出去花掉時才記。
  • 交割戶同時是薪轉戶或生活帳戶:錢進錢出混在一起,就改成只看股票本身——每次買進記負數(買進金額含手續費),每次賣出(記扣掉手續費與證交稅後實際入帳的金額)、每次現金股利入帳記正數,期末把還沒賣的股票市值記成正數。

XIRR範例F:台股交割戶跟生活費混用,中間領了一次現金股利

步驟邏輯

  • 2023/01/10 買進一檔 ETF,共 120,000 元(含手續費)
    • 金流記 −120,000
  • 2023/07/20 現金股利 2,000 元入帳到交割戶,之後跟生活費一起花掉
    • 錢已經離開「股票」這個帳戶,記 +2,000
  • 2024/01/10 股票還沒賣,當天市值 140,000 元
    • 期末市值記 +140,000
  • XIRR會長成這樣:=XIRR(B2:B4, A2:A4)
    • 金額就是 −120,000, 2,000, 140,000 的數字
    • 日期就是上面三個日期
日期 金流 說明
2023/01/10 −120,000 買進(含手續費)
2023/07/20 +2,000 現金股利,花掉了
2024/01/10 +140,000 期末股票市值
XIRR 約 18.47%

三筆金流算出來 XIRR 約 18.47%。如果忘了記那筆 2,000 元股利,只算 −120,000 和 140,000 兩筆,XIRR 會變成約 16.67%——報酬被低估了快 2 個百分點。混用交割戶時現金股利一定要記;配股(股票股利)則不用另外記,因為它會直接反映在期末的股票市值裡。

兩格迷因圖「現金股利要記嗎?」:上格笑臉角色,美股股利留在帳戶裡、期末總值已經算進去,不用記;下格皺眉角色,台股交割戶混生活費、股利入帳就被花掉,要記正數;底下寫漏記一筆,報酬就被低估。

一張表整理:哪些事要記成金流

表中「美股」指現金與股票在同一個帳戶;「台股混用」指交割戶跟生活費混用、只看股票的記法。

發生的事 美股 台股混用
從外面存錢進帳戶 記負數 不記
買股票 不記 記負數(含手續費)
賣股票 不記(錢還在帳戶裡) 記正數(實際入帳金額)
現金股利 不記(留在帳戶裡) 記正數
把錢提領出去花 記正數 不記(賣股票時已經記過)
期末 記帳戶總值(正數) 記還沒賣的股票市值(正數)

規則其實只有一條:只在「錢進出你定義的那個帳戶」時記一筆,期末用總市值收尾。範例 A 到 F 全部都是這條規則套出來的;交割戶只拿來投資的人,直接照美股那一欄記就好。

不想手算?用 XIRR 計算機

如果不想自己開 Excel 拉 XIRR 函數,老喬做了一個線上工具:XIRR 計算機。把每一筆金流的日期與金額貼上去(存入記負數、期末市值記正數),就會直接算出你的年化報酬率,不用自己記公式或排資料格式。上面的美股、台股計算題,都可以拿這個工具對答案。

XIRR 常見問題

XIRR 是什麼意思?

XIRR 是 Excel 與 Google 試算表的函數,用來算「錢不定時進出時,平均每年的報酬率」。它是內部報酬率(IRR)的一種,差別在不需要固定間隔:每一筆投入、提領只要有日期和金額就能算,很適合用來算自己帳戶的實際年化報酬。

XIRR 公式怎麼寫?

寫法是 =XIRR(金額範圍, 日期範圍),例如日期放 A2:A3、金額放 B2:B3,就輸入 =XIRR(B2:B3, A2:A3)。第三格可以填預估值,不填時預設 10%。

背後的原理是找一個年利率,讓每一筆金額依「距第一筆的天數 ÷ 365」折回第一天後,全部加起來等於 0;這個利率就是 XIRR。

XIRR 和 IRR 差在哪?

IRR 假設每一筆金流的間隔都一樣(例如每年一次),只看第幾期;XIRR 則依實際日期、以一年 365 天折算,所以錢什麼時候進出都可以。個人帳戶的存入、提領時間通常不固定,用 XIRR 比較準。

XIRR 的金額要打正數還是負數?

從口袋放進帳戶的錢(投入、存入)記負數;從帳戶回到口袋的錢(提領、賣出入帳)和期末帳戶總值記正數。留在帳戶裡的股利、利息不用記。

XIRR 為什麼出現 #NUM!?

最常見的是金額全部都是正數(或全部都是負數),XIRR 至少要有一筆負數和一筆正數。其他原因還有:有日期早於第一列的日期、金額和日期的格數不一樣,或試算 100 次仍找不到答案(可以在第三格填一個接近的預估值)。

如果出現的是 #VALUE!,多半是日期無效,例如打了不存在的日期;日期被存成文字也可能出問題,微軟建議用 DATE(年,月,日) 輸入。

現金股利要記進 XIRR 嗎?

看股利有沒有離開你定義的帳戶。美股帳戶股利留在帳戶裡、或採股息再投資,都不用記,期末總值已經算進去;台股交割戶如果跟生活費混用、只看股票本身,現金股利入帳就要記一筆正數,漏記會低估報酬(本文範例 F:18.47% 會變成 16.67%)。配股(股票股利)不用另外記,會反映在期末市值裡。

XIRR 跟 CAGR 怎麼選?

只有一筆投入、中途沒有加碼或提領時,兩個算出來幾乎一樣,用 CAGR 就夠(CAGR 說明)。中途有定期定額、加碼或提領時,CAGR 會失真,要用 XIRR。

為什麼才放幾個月,XIRR 就高得嚇人?

因為 XIRR 會把報酬換算成「一年」。1,000 元放 2 個月(例如 1/1 到 3/1,共 59 天)變 1,100 元,只賺 10%,XIRR 卻約 80.33%,和放 1 年賺 80% 的結果(約 80.29%)幾乎一樣。持有不到一年時,記得同時看實際賺了多少。

XIRR 多少算好?

要跟市場比才有意義,不能只跟自己比。以長期、含息的概數來看,美股 S&P 500 約 10%、台灣 0050 約 8–9%(參考 CAGR 那篇的對照表)。XIRR 也可能是負數,例如 1,000 元一年後只剩 600 元,XIRR 約 −40%。

老喬的台灣財富報告 系列整理頁面

老喬將自己與財富相關的所看所學,整理成系列資訊,叫做「老喬的台灣財富地圖」系列

不是為了給答案,而是讓人知道自己站在哪裡,希望這些資料,能讓你更了解自己

《老喬的台灣財富報告》系列入口在這裡

本文關鍵字:XIRR、XIRR 是什麼、XIRR 公式、XIRR 函數、Excel XIRR、Google 試算表 XIRR、年化報酬率

這篇提到台灣50(0050/006208)S&P 500

本篇摘要

XIRR 是 Excel/Google 試算表的函數,用來算錢不定時進出時的年化報酬率(不定期現金流的內部報酬率)。寫法 =XIRR(金額範圍, 日期範圍, [預估值]),預估值可省略、預設 10%;投入記負數,提領與期末市值記正數,至少要有一筆負數和一筆正數,否則出現 #NUM!。其他常見錯誤:日期早於第一列或金額與日期格數不同(#NUM!)、日期無效(#VALUE!)。背後原理是找一個年利率,讓每筆金額依天數 ÷ 365 折回第一天後總和為 0。XIRR 會把報酬換算成一年,持有很短時會被放大:2 個月(59 天)賺 10% 的 XIRR 約 80.33%,和 1 年賺 80% 的範例 A(80.29%)幾乎一樣。美股帳戶現金與股票合一,只在錢進出帳戶時記一筆、期末記總值;留在帳戶的股利與股息再投資不用記(範例 B~D 皆 50.17%),中途提領 300 元記正數(範例 E 94.04%)。台股交割戶若跟生活費混用就只看股票:買進記負、賣出與現金股利記正、期末記股票市值;漏記現金股利會低估報酬(範例 F 18.47% 變 16.67%)。

  • XIRR寫法:=XIRR(金額範圍, 日期範圍),Excel與Google試算表相同
  • 投入記負數,提領與期末市值記正數;全為同號會出現#NUM!
  • 日期早於第一列、金額與日期格數不同也會#NUM!;日期無效會#VALUE!
  • 持有很短時XIRR會被放大:2個月(59天)賺10%約80.33%
  • 美股範例:1,000一年後1,800,XIRR約80.29%;中途提領300、期末1,500,約94.04%
  • 台股交割戶混用生活費時漏記現金股利會低估報酬(範例F:18.47%變16.67%)

老喬報|每週一封

訂閱老喬報

近 2,000 位讀者訂閱・免費・隨時可退訂

用 Google 訂閱

或用 email

送出即表示同意隱私權政策。