非周期キャッシュフローに対するIRRを計算するExcel XIRR関数

  • これを共有
Michael Brown

このチュートリアルでは、ExcelでXIRRを使用して、タイミングが不規則なキャッシュフローに対する内部収益率(IRR)を計算する方法と、独自のXIRR計算機を作成する方法を紹介します。

資本集約的な意思決定に直面したとき、内部収益率を計算することは、異なる投資の予測収益を比較することができ、意思決定のための定量的な根拠を与えるので、望ましい。

前回のチュートリアルでは、ExcelのIRR関数を使って内部収益率を計算する方法を紹介しました。 この方法は手軽で簡単ですが、本質的な限界があります。IRR関数は、すべてのキャッシュフローが毎月や毎年など等間隔で発生すると仮定しています。 しかし実際の場面では、キャッシュフローとアウトフローが不規則に発生することがよくあります。ありがたいことに、Microsoft Excelには、このような場合にIRRを求める別の関数があります。このチュートリアルでは、その使い方を説明します。

    エクセルでのXIRR関数

    ExcelのXIRR関数は、周期的であるかどうかにかかわらず、一連のキャッシュフローに対する内部収益率を返します。

    この関数はExcel 2007で導入され、それ以降のExcel 2010、Excel 2013、Excel 2016、Excel 2019、Office 365用Excelのすべてのバージョンで利用可能です。

    XIRR関数のシンタックスは以下のとおりです。

    XIRR(値, 日付, [推測])

    どこで

    • 価値観 (必須) - 一連の流入と流出を表す、セルの配列または範囲。
    • 日付 (必須) - キャッシュフローに対応する日付。 日付はどのような順番でも構いませんが、初期投資の日付は配列の最初になければなりません。
    • 推測 (オプション) - 予想IRRをパーセントまたは10進数で指定します。 省略した場合、Excelはデフォルトの0.1(10%)を使用します。

    例えば、A2:A5のキャッシュフローとB2:B5の日付の系列に対してIRRを計算する場合、次の式を使うことになる。

    =xirr(a2:a5, b2:b5)

    ヒント:結果を正しく表示させるために、以下のことを確認してください。 比率 のフォーマットが数式セルに設定されます。

    XIRR関数について知っておくべき6つのこと

    XIRR関数の内部構造を理解し、ワークシートで最も効率的に使用するために、以下のメモを参考にしてください。

    1. ExcelのXIRRは、タイミングが不等間隔のキャッシュフローの内部収益率を計算するために設計されています。 正確な支払日が不明な定期的なキャッシュフローには、IRR関数を使用することができます。
    2. 値の範囲は、少なくとも1つの正の値(収入)と1つの負の値(支払)を含む必要があります。
    3. 最初の値が支出(初期投資)である場合は、負の数で表さなければならない。 初期投資は割引かず、その後の支払いは最初のキャッシュフローの日に戻し、1年365日に基づいて割引かれる。
    4. すべての日付は整数に切り捨てられる。つまり、時間を表す日付の端数は取り除かれる。
    5. 日付は、日付を含むセルへの参照、またはDATE関数などの計算式の結果として入力されたExcelの有効な日付でなければなりません。 テキスト形式で日付を入力した場合、問題が発生する可能性があります。
    6. ExcelのXIRRは常に 年率換算IRR 月次や週次のキャッシュフローを計算するときにも

    エクセルによるXIRRの計算

    ExcelのXIRR関数は、この式を満たす率を試行錯誤で求めている。

    どこで

    • P - キャッシュフロー(支払)
    • d - 日付
    • i - 期間番号
    • n - 期間合計

    推測値がある場合はその値から、ない場合はデフォルトの10%から、Excelは0.000001%の精度で結果を得るために繰り返し計算を行います。 100回試しても正確な率が見つからない場合は、#NUM!エラーが返されます。

    この計算式の妥当性を確認するために、XIRRの計算結果と比較してみましょう。 計算を簡単にするために、以下の配列式を使用します(配列式は、Ctrl + Shift + Enterキーで完了する必要があることに注意してください)。

    =SUM(A2:A5/((1+$E$1)^((B2:B5-$B$2)/365)))

    どこで

    • A2:A5 はキャッシュフロー
    • B2:B5 は日付
    • E1はXIRRで返されるレート

    下のスクリーンショットに示すように、結果はゼロに極めて近い。 Q.E.D. :)

    エクセルでXIRRを計算する方法 - 計算式の例

    以下は、ExcelのXIRR関数の一般的な使用方法を示すいくつかの例です。

    エクセルでの基本的なXIRRの計算式

    2017年に1,000ドルを投資し、今後6年間で何らかの利益を得ることを期待するとします。 この投資の内部収益率を求めるには、次の式を使用します。

    =xirr(a2:a8, b2:b8)

    ここで、A2:A8はキャッシュフロー、B2:B8はキャッシュフローに対応する日付である。

    この投資の収益性を判断するために、出力されたXIRRをあなたの会社で比較してみてください。 加重平均資本コスト または ハードルレート 還元率が資本コストより高ければ、そのプロジェクトは良い投資と言える。

    複数の投資手段を比較する場合、予想収益率はあくまで判断材料の一つに過ぎないことをご留意ください。 詳しくは、「内部収益率(IRR)とは」をご覧ください。

    ExcelのXIRR関数の完全な形

    この投資でどのようなリターンが期待できるかが分かっている場合、その期待値を推測として使うことができます。 明らかに正しいXIRRの計算式が#NUM!エラーを投げる場合に特に役に立ちます。

    以下に示すデータ入力の場合、推測を行わないXIRRの計算式はエラーを返します。

    =xirr(a2:a7, b2:b7)

    に入れた予想返品率(-20%)。 推察 引数は、Excelが結果を出すのに役立ちます。

    =xirr(a2:a7, b2:b7, -20%)

    月次キャッシュフローに対するXIRRの計算方法

    まず、覚えておいていただきたいのは、どんなキャッシュフローを計算するにしても、ExcelのXIRR関数は ねんかんしゅうえきりつ .

    これを確かめるために、同じ系列のキャッシュフロー(A2:A8)が毎月、毎年発生する場合のIRRを求めましょう(日付はB2:B8)。

    =xirr(a2:a8, b2:b8)

    下のスクリーンショットでわかるように、IRRは年間キャッシュフローの場合7.68%、月間キャッシュフローの場合は約145%になります!この差は貨幣の時間的価値の要素だけで正当化するには高すぎるように思われます。

    概算を求めるには 月次XIRR の場合、E1が通常のXIRRの計算結果であるため、以下の計算を行うことができます。

    =(1+E1)^(1/12)-1

    あるいは、XIRRを直接式に埋め込むこともできます。

    =(1+XIRR(A2:A8,B2:B8))^(1/12)-1

    さらに、同じキャッシュフローをIRRで計算してみます。 IRRもすべての期間が等しいと仮定しているので、近似的な率を計算することに留意してください。

    =IRR(A2:A8)

    これらの計算の結果、月次XIRRは7.77%となり、IRRの計算式で算出される7.68%に非常に近い数値となりました。

    結論 月次キャッシュフローの年率IRRを求める場合は、XIRR関数をそのまま使用し、月次IRRを求める場合は、上記の調整を適用します。

    Excel XIRRテンプレート

    さまざまなプロジェクトの内部収益率をすばやく求めるには、エクセルで汎用性の高いXIRR計算機を作成します。 その方法は次のとおりです。

    1. 2 つの個別の列(この例では A と B)にキャッシュフローと日付を入力します。
    2. という名前の2つの動的定義範囲を作成します。 キャッシュフロー 日付 技術的には、数式という名前になります。

      Cash_flows(キャッシュフロー)。

      =OFFSET(Sheet1!$A$2,0,0,COUNT(Sheet1!$A:$A),1)です。

      日程はこちら

      =OFFSET(Sheet1!$B$2,0,0,COUNT(Sheet1!$B:$B),1)

      どこ シート1 はワークシートの名前、A2 は最初のキャッシュフロー、B2 は最初の日付です。

      詳しい手順については、「Excelで動的名前付き範囲を作成する方法」をご覧ください。

    3. 作成した動的定義名をXIRRの計算式に供給する。

    =XIRR(Cash_flows, Dates)

    完了!これで、好きなだけキャッシュフローを追加したり削除したりすることができ、それに応じてダイナミックXIRR計算式が再計算されます。

    エクセルでのXIRRとIRRの比較

    ExcelのXIRRとIRRの関数の主な違いは、この点です。

    • IRR この関数は、月次、四半期、年次などの定期的なキャッシュフローに対する内部収益率を求めるために使用します。
    • XIRR は、個々のキャッシュフローに日付を割り当てることができるので、必ずしも周期的でないキャッシュフローのIRRを計算するために、この関数を使用します。

    一般に、正確な支払日がわかっている場合は、XIRRの方が計算精度が高いので、XIRRを使うことをお勧めします。

    例として、同じキャッシュフローでIRRとXIRRの結果を比較してみましょう。

    ですべての支払いが発生する場合 定期的な間隔 というように、非常に近い結果を返します。

    キャッシュ・フローのタイミングが そろわない という結果になり、その差はかなり大きい。

    XIRRとXNPVをExcelで表示する。

    XIRRはXNPV関数と密接に関係しており、XIRRの結果は正味現在価値がゼロになる割引率である。 つまり、XIRRはXNPV=0である。次の例は、XIRRとXNPVの関係をExcelで示したものである。

    例えば、ある投資案件を検討しており、その投資の正味現在価値と内部収益率の両方を調べたいとします。

    A2:A5のキャッシュフロー、B2:B5の日付、E1の割引率で、以下のXNPVの式で、将来キャッシュフローの正味現在価値を求めることができます。

    =xnpv(e1, a2:a5, b2:b5)

    NPVがプラスであれば、そのプロジェクトが利益を生むことを示しています。

    ここで、正味現在価値がゼロになる割引率を求めます。 これには、XIRR関数を使います。

    =xirr(a2:a5, b2:b5)

    XIRRで出したレートが本当にNPVをゼロにするかどうかを確認するために、そのレートを レート の引数は、あなたのXNPV式の

    =xnpv(e4, a2:a5, b2:b5)

    または、XIRR機能全体を埋め込む。

    =xnpv(xirr(a2:a5, b2:b5), a2:a5, b2:b5)

    そう、XNPVを小数点以下2桁で四捨五入するとゼロになるんだ。

    正確なNPV値を表示するには、小数点以下を表示するか、XNPVセルにScientificフォーマットを適用します。 そうすると、次のような結果になります。

    科学的記数法に慣れていない場合は、以下の計算を行って、10進数に変換してください。

    1.11E-05 = 1.11*10^-5 = 0.0000111

    ExcelのXIRR関数が動作しない

    ExcelのXNPV関数で問題が発生した場合、確認すべき主なポイントは以下の通りです。

    #NUM!エラー

    以下の理由により、#NUMエラーが発生する場合があります。

    • があります。 価値観 年月日 の範囲は、異なる長さ(異なる列数または行数)を持っています。
    • があります。 価値観 配列に正負の値が少なくとも1つずつ含まれていない。
    • それ以降の日付は、いずれも最初の日付より早い。
    • 100回繰り返しても結果が出ない場合は、別の推論を試してみてください。

    #VALUE!エラー

    VALUEエラーは、次のような原因で発生することがあります。

    • 提供されるいずれかの 価値観 は非数値である。
    • 提供された日付の中には、有効なExcelの日付として識別できないものがあります。

    このチュートリアルで取り上げた数式をより詳しくご覧になりたい方は、下記のサンプルワークブックをダウンロードしてください。 読んでいただきありがとうございました。また、来週のブログでお会いしましょう。

    練習用ワークブック(ダウンロード

    XIRR Excel テンプレート (.xlsx ファイル)

    Michael Brown は、ソフトウェア ツールを使用して複雑なプロセスを簡素化することに情熱を注ぐ熱心なテクノロジー愛好家です。テクノロジー業界で 10 年以上の経験があり、Microsoft Excel と Outlook、さらに Google Sheets と Docs のスキルを磨いてきました。 Michael のブログは、彼の知識と専門知識を他の人と共有することに特化しており、生産性と効率を向上させるためのわかりやすいヒントとチュートリアルを提供しています。経験豊富なプロフェッショナルであろうと初心者であろうと、Michael のブログでは、これらの重要なソフトウェア ツールを最大限に活用するための貴重な洞察と実践的なアドバイスを提供しています。