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

2 つの日付 (開始日と終了日) の間の期間が、1 年間に対して占める割合を返します。Calculates the fraction of the year represented by the number of whole days between two dates (the start_date and the end_date). YearFrac worksheet 関数を使用して、年全体の利益または特定の用語に割り当てる義務の比率を特定します。Use the YearFrac worksheet function to identify the proportion of a whole year's benefits or obligations to assign to a specific term.


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

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


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
Arg1Arg1 必須Required バリアント型Variant 開始日: 起算日を表す日付を指定します。Start_date - a date that represents the start date.
Arg2Arg2 必須Required バリアント型Variant 終了日: 対象期間の最終日を表す日付を指定します。End_date - a date that represents the end date.
Arg3Arg3 省略可能Optional VariantVariant 基準: 計算に使用する基準日数を示す数値を指定します。Basis - the type of day count basis to use.

戻り値Return value

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



日付は、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.

次の表は、 _Arg3_で使用可能な値を示しています。The following table represents possible values for Arg3.

基準Basis 基準日数 (月/年)Day count basis
0 または省略0 or omitted 30 日/360 日 (NASD 方式)US (NASD) 30/360
1-d1 実際の日数/実際の日数Actual/actual
pbm-22 実際の日数/360 日Actual/360
1/33 実際の日数/365 日Actual/365
2/44 30 日/360 日 (ヨーロッパ方式)European 30/360

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.

引数に整数以外の値を指定すると、小数点以下が切り捨てられます。All arguments are truncated to integers.

開始日または終了日に無効な日付をYearFracすると、#VALUE が返されます。If start_date or end_date are not valid dates, YearFrac returns the #VALUE! が返されます。error value.

Basis < 0 または basis > 4 の場合、 YearFracは #NUM を返します。If basis < 0 or if basis > 4, YearFrac returns the #NUM! が返されます。error value.

サポートとフィードバック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.