WorksheetFunction メソッド (Excel)WorksheetFunction.Xirr method (Excel)

定期的でないキャッシュ フローに対する内部利益率を返します。Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic. 一連の定期的なキャッシュフローに対する内部利益率を計算するには、 Irr 関数を使用します。To calculate the internal rate of return for a series of periodic cash flows, use the Irr function.


Xirr(Arg1Arg2Arg3)expression.Xirr (Arg1, Arg2, Arg3)

: WorksheetFunction オブジェクトを表す変数。expression A variable that represents a WorksheetFunction object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
Arg1Arg1 必須Required バリアント型Variant 範囲: 収支明細表の日付に対応する一連のキャッシュ フローを指定します。Values - a series of cash flows that corresponds to a schedule of payments in dates. 最初の支払いは投資の最初に発生する原価や支払いに対応し、省略することができます。The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. 最初のキャッシュ フローが原価や支払いの場合、負の値を指定する必要があります。If the first value is a cost or payment, it must be a negative value. それ以降の支払いは、1 年の日数を 365 日として割り引かれます。All succeeding payments are discounted based on a 365-day year. 値には、正の値と負の値が少なくとも 1 つずつ含まれている必要があります。The series of values must contain at least one positive and one negative value.
Arg2Arg2 必須Required バリアント型Variant 日付-キャッシュフローの支払いに対応する支払日のスケジュールを設定します。Dates - a schedule of payment dates that corresponds to the cash flow payments. 最初の支払日は、支払いスケジュールの開始日を示します。The first payment date indicates the beginning of the schedule of payments. 他のすべての日付は、この日付より後である必要がありますが、任意の順序で発生する可能性があります。All other dates must be later than this date, but they may occur in any order. 日付は、DATE 関数を使って入力するか、他の数式または他の関数の結果を指定します。Dates should be entered by using the DATE function, or as results of other formulas or functions. たとえば、2008 年 5 月 23 日を入力する場合は、DATE (2008,5,23) を使用します。For example, use DATE(2008,5,23) for the 23rd day of May, 2008. 日付を文字列として入力した場合、エラーが発生することがあります。Problems can occur if dates are entered as text.
Arg3Arg3 省略可能Optional VariantVariant 推定値- Xirr関数の計算結果に近いと思われる数値を指定します。Guess - a number that you guess is close to the result of Xirr.

戻り値Return value

倍精度浮動小数点型 (Double)Double


Excel では、日付は集計に使用できるようにシリアル値として格納されます。Microsoft Excel stores dates as sequential serial numbers so they can be used in calculations. 既定では、1900 年 1 月 1 日のシリアル値は 1、2008 年 1 月 1 日は 1900 年 1 月 1 日から 39,448 日後であるためシリアル値は 39,448 になります。By default, January 1, 1900 is serial number 1, and January 1, 2008 is serial number 39448 because it is 39,448 days after January 1, 1900. Macintosh 版の Excel では、既定とは異なる日付システムが使用されます。Microsoft Excel for the Macintosh uses a different date system as its default.


Visual Basic for Applications (VBA) では、Excel と異なる方法でシリアル日付が計算されます。Visual Basic for Applications (VBA) calculates serial dates differently than Excel. VBA では、シリアル日付値 1 は 1900 年 1 月 1 日ではなく、1899 年 12 月 31 日に該当します。In VBA, serial number 1 is December 31, 1899, rather than January 1, 1900.

日付に整数以外の値を指定すると、小数点以下が切り捨てられます。Numbers in dates are truncated to integers.

Xirrは、少なくとも1つの正のキャッシュフローと1つの負のキャッシュフローを想定します。それ以外の場合、 Xirrは #NUM を返します。Xirr expects at least one positive cash flow and one negative cash flow; otherwise, Xirr returns the #NUM! が返されます。error value.

日付に無効な日付を指定した場合、 Xirrは #VALUE を返します。If any number in dates is not a valid date, Xirr returns the #VALUE! が返されます。error value.

日付の数値が開始日より前にある場合、 Xirrは #NUM を返します。If any number in dates precedes the starting date, Xirr returns the #NUM! が返されます。error value.

値と日付に含まれる値の個数が異なる場合、 Xirrは #NUM を返します。If values and dates contain a different number of values, Xirr returns the #NUM! が返されます。error value.

ほとんどの場合、 Xirrの計算に推定値を指定する必要はありません。In most cases, you do not need to provide guess for the Xirr calculation. 推定値を省略すると、0.1 (10%) が指定されたと見なされます。If omitted, guess is assumed to be 0.1 (10 percent).

Xirrは、 Xnpvに密接に関連しています。ネット現在価値関数です。Xirr is closely related to Xnpv, the net present value function. Xirrで計算される利回りは、XNPV = 0 に対応する利率です。The rate of return calculated by Xirr is the interest rate corresponding to XNPV = 0.

Excel は、Xirrを計算するために反復的な手法を使用します。Excel uses an iterative technique for calculatingXirr. 変更率 (guess で始まります) を使用すると、結果の精度が 0.000001% 以内になるまで、計算をXirrで循環します。Using a changing rate (starting with guess), Xirr cycles through the calculation until the result is accurate within 0.000001 percent. Xirrが100試行後に動作する結果を見つけることができない場合は、#NUM!If Xirr can't find a result that works after 100 tries, the #NUM! が返されます。error value is returned.

レートは次の場合に変更されます。The rate is changed until:



  • di = i 番目または最後の支払日を指定します。di = the ith, or last, payment date.
  • d1 = 0 番目の支払日。d1 = the 0th payment date.
  • Pi = i 番目または最後の支払い。Pi = the ith, or last, payment.

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.