- 作成日 : 2025年8月25日
YEARFRAC関数完全ガイド:エクセルで期間を年単位で計算する方法
YEARFRAC関数は、2つの日付間の期間を年単位の小数で表す関数です。この関数を使用することで、正確な経過年数を計算でき、利息計算、勤続年数の算出、プロジェクト期間の測定など、様々なビジネスシーンで活用できます。
本記事では、YEARFRAC関数の基本的な使い方から、実務での応用例、他の関数との組み合わせ方、よくあるエラーとその対処法まで、わかりやすく解説します。
目次
YEARFRAC関数の使い方
YEARFRAC関数とは
YEARFRAC関数は、開始日から終了日までの期間を年単位で返すエクセルの日付関数です。単純に年数を引き算するのではなく、日数レベルで正確に計算を行うため、より精密な期間計算が可能になります。
参考:YEARFRAC 関数 – Microsoft サポート
基本構文
YEARFRAC関数の構文は次のとおりです。
=YEARFRAC(開始日, 終了日, [基準])
各引数の説明を見ていきましょう。
- 開始日:計算の起点となる日付を指定します。セル参照、日付の直接入力、DATE関数などで指定できます。
- 終了日:計算の終点となる日付を指定します。開始日と同様の方法で指定可能です。
- 基準:年の日数をどのように数えるかを決める省略可能な引数です。0から4までの数値で指定します。
基準値の詳細
基準値は計算方法を決定する重要な要素です。それぞれの基準値には以下のような特徴があります。
- 基準0(米国NASD方式):30日/360日方式を採用し、1か月を30日、1年を360日として計算します。省略した場合はこの方式が適用されます。
- 基準1(実際の日数/実際の日数):実際の日数を使用して計算を行います。うるう年も考慮されるため、正確な計算結果が得られます。
- 基準2(実際の日数/360):実際の経過日数を360で割って年数を算出します。
- 基準3(実際の日数/365):実際の経過日数を365で割って年数を算出します。うるう年は考慮されません。
- 基準4(ヨーロッパ30/360):ヨーロッパ方式の30日/360日計算を行います。
基本的な使用例
実際にYEARFRAC関数を使ってみましょう。たとえば、2023年4月1日から2024年3月31日までの期間を計算する場合、次のように記述します。
=YEARFRAC(“2023/4/1”, “2024/3/31”, 1)
この計算結果は約0.997となり、ほぼ1年であることがわかります。(うるう年や表示桁数によって若干の誤差が出る場合があります。)
基準値を1にすることで、うるう年を考慮した正確な計算が行われています。
セル参照を使用する場合は、A1セルに開始日、B1セルに終了日が入力されているとして、次のように記述します。
=YEARFRAC(A1, B1, 1)
YEARFRAC関数の利用シーン
勤続年数の計算
人事部門でよく使用される用途として、従業員の勤続年数計算があります。入社日から現在までの正確な勤続年数を算出する際、YEARFRAC関数は非常に便利です。
たとえば、A2セルに入社日が入力されている場合、現在までの勤続年数は次の数式で計算できます。
=YEARFRAC(A2, TODAY(), 1)
TODAY関数と組み合わせることで、常に最新の勤続年数が自動的に計算されます。小数点以下の数値も含まれるため、10.5年のように月単位の精度で勤続期間を把握できます。
利息計算での活用
金融業界では、YEARFRAC関数が利息計算に頻繁に使用されます。貸付期間や預金期間を正確に年単位で計算することで、利息額を精密に算出できます。
例として、年利3%で100万円を貸し付けた場合の利息計算を考えてみましょう。貸付開始日がA3セル、返済日がB3セルに入力されているとすると、利息額は次の数式で計算できます。
=1000000 * 0.03 * YEARFRAC(A3, B3, 1)
この計算により、日割りで正確な利息額を求めることができます。
プロジェクト期間の測定
プロジェクト管理においても、YEARFRAC関数は有効です。プロジェクトの開始日から終了日までの期間を年単位で把握することで、長期プロジェクトの進捗管理や予算配分の計画に役立ちます。
複数のプロジェクトを比較する際にも、期間を統一された単位(年)で表示できるため、プロジェクト間の比較が容易になります。
年齢計算の精密化
生年月日から現在の年齢を小数点以下まで正確に計算する場合にも活用できます。通常の年齢計算では整数値しか得られませんが、YEARFRAC関数を使用すると、25.75歳のような詳細な年齢情報を取得できます。
=YEARFRAC(生年月日, TODAY(), 1)
保険料の計算や医療分野での正確な年齢把握が必要な場面で重宝します。
YEARFRAC関数の応用・その他の関数との組み合わせ
INT関数との組み合わせ
YEARFRAC関数の結果から整数部分のみを取り出したい場合、INT関数と組み合わせます。これにより、端数を切り捨てた完全な年数を取得できます。
=INT(YEARFRAC(A1, B1, 1))
この組み合わせは、勤続年数の整数値のみが必要な場合や、年齢を整数で表示したい場合に便利です。
ROUND関数による丸め処理
計算結果を特定の小数点以下で丸めたい場合は、ROUND関数を使用します。たとえば、小数点第1位までで表示したい場合は次のように記述します。
=ROUND(YEARFRAC(A1, B1, 1), 1)
これにより、10.456789年のような細かい数値を10.5年として表示できます。
IF関数を使った条件分岐
YEARFRAC関数の結果に基づいて条件分岐を行うことも可能です。たとえば、勤続5年以上の従業員を判定する場合は次のような数式を使用します。
=IF(YEARFRAC(入社日, TODAY(), 1) >= 5, “5年以上”, “5年未満”)
この応用により、勤続年数に応じた手当の計算や、資格要件の判定などを自動化できます。
DATEDIF関数との使い分け
期間計算にはDATEDIF関数も使用できますが、YEARFRAC関数との使い分けが重要です。DATEDIF関数は年、月、日の単位で期間を返すのに対し、YEARFRAC関数は年単位の小数値を返します。
精密な計算が必要な場合はYEARFRAC関数を、整数単位での期間が必要な場合はDATEDIF関数を選択するとよいでしょう。
複数期間の合計計算
複数の期間を合計する場合、YEARFRAC関数を使用することで正確な計算が可能になります。たとえば、断続的な雇用期間の合計を計算する場合、各期間をYEARFRAC関数で計算し、その結果を合計します。
=YEARFRAC(A1, B1, 1) + YEARFRAC(A2, B2, 1) + YEARFRAC(A3, B3, 1)
YEARFRAC関数のよくあるエラーと対策
#VALUE!エラーの対処法
YEARFRAC関数で頻繁に発生するエラーが#VALUE!エラーです。このエラーは主に以下の原因で発生します。
日付形式の誤り:エクセルが日付として認識できない値を引数に指定した場合に発生します。日付は「2024/1/1」や「2024-01-01」のような標準的な形式で入力する必要があります。
対策として、DATE関数を使用して確実に日付形式で入力する方法があります。
=YEARFRAC(DATE(2024,1,1), DATE(2024,12,31), 1)
文字列の混入:日付セルに空白や文字列が含まれている場合もエラーの原因となります。IFERROR関数でエラー処理を行うことで、この問題を回避できます。
=IFERROR(YEARFRAC(A1, B1, 1), “日付を確認してください”)
#NUM!エラーの対処法
#NUM!エラーは、基準値に0から4以外の数値を指定した場合や、開始日が終了日より後の日付である場合に発生します。基準値は必ず0から4の範囲内で指定する必要があります。
また、開始日が終了日より後の日付になっている場合も、一部のエクセルバージョンではエラーとなることがあります。日付の順序を確認し、必要に応じて入れ替えることで解決できます。
日付の自動変換に関する注意点
エクセルは入力された値を自動的に日付形式に変換することがありますが、この機能が意図しない結果を生むことがあります。たとえば、「1/2」と入力すると1月2日として解釈される可能性があります。
このような問題を避けるため、日付は明確な形式で入力することが重要です。年を含めた完全な日付形式(2024/1/2)で入力するか、セルの書式設定を事前に日付形式に設定しておくことをお勧めします。
基準値の選択による計算誤差
基準値の選択によって計算結果に微妙な差が生じることがあります。特に金融計算では、使用する基準値が契約や規定で定められている場合があるため、適切な基準値を選択することが重要です。
一般的な用途では基準値1(実際の日数/実際の日数)を使用することで、正確な結果が得られます。特別な理由がない限り、この基準値の使用を推奨します。
YEARFRAC関数で日付の差を正確に「年」で計算
YEARFRAC関数は、2つの日付の間隔を年単位(小数)で精密に計算できる関数です。勤続年数、年齢、利息計算、プロジェクト期間の測定などに広く活用されます。
基準値の指定により、うるう年の考慮や360/365日法など柔軟な計算が可能です。
INT関数やROUND関数と組み合わせれば、整数年・桁数調整も自在にできます。#VALUE!や#NUM!エラーへの対策として、日付形式の確認や日付順の整合性が重要です。
ぜひ本記事で紹介した内容を参考に、実際の業務で活用してみてください。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
RATE関数の使い方:ローンや投資の利率を逆算する方法
RATE関数は、定期的な支払いがある金融商品の利率を計算するエクセルの財務関数です。ローンの実質年率の確認、投資商品の利回り計算、リース料率の算出など、様々な金融計算で活用されています。月々の支払額や期間、借入額から利率を逆算できるため、金…
詳しくみるエクセルのCOUNTIFS関数とは?使い方や複数条件の指定方法、応用例を解説
複数条件でデータを集計したい場合は、ExcelのCOUNTIFS関数(カウントイフス関数)が最適です。たとえば「営業部かつ女性」「80点以上かつ出席率90%以上」など、AND条件での集計を簡単に実現できます。 これまでフィルターや手作業で対…
詳しくみるDELTA関数の使い方:2つの値が等しいかを判定する方法
DELTA関数は、2つの数値が等しいかどうかを判定し、等しい場合は1、異なる場合は0を返す関数です。データの一致確認、条件付き計算、品質検査での合否判定など、値の比較が必要な様々な場面で活用されます。例えば、目標値と実績値の一致を確認したり…
詳しくみるエクセルの相対参照・絶対参照・複合参照の使い分けをわかりやすく解説
エクセルを使いこなすためには、相対参照、絶対参照、複合参照といったセル参照の使い分けが重要です。それぞれの参照には明確な特徴があり、データを効率よく扱うための必須知識となります。相対参照はセルの位置に基づいて変化し、絶対参照は特定のセルを常…
詳しくみるTODAY関数の使い方を応用までわかりやすく解説
Excelにおいて、TODAY関数は現在の日付を取得するための非常に便利なツールです。この関数を活用することで、日付計算やデータ管理が効率化されます。本記事では、TODAY関数の基本的な使い方から、和暦の表示や翌日の日付の取得、曜日の表示、…
詳しくみるエクセルでヘッダー・フッターを挿入・編集する方法
エクセルで文書を作成する際、ヘッダーやフッターは情報整理に欠かせません。ページ番号やタイトル、日付などを挿入することで、文書の完成度が向上します。本記事では、エクセルでヘッダーやフッターをどのように挿入・編集するか、具体的な手順を詳しく解説…
詳しくみる