- 作成日 : 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!エラーへの対策として、日付形式の確認や日付順の整合性が重要です。
ぜひ本記事で紹介した内容を参考に、実際の業務で活用してみてください。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルで円を千円単位に変換する方法をわかりやすく解説
エクセルを使って円を千円単位に変換するのは、実務において非常に便利な操作です。特に、予算や売上の集計時に千円単位で表示することは、視覚的にもわかりやすくなります。本記事では、エクセルで円を千円単位に変換する方法を、ステップバイステップで解説…
詳しくみるINT関数で四捨五入しよう!使い方をわかりやすく解説
INT関数は、ExcelやGoogleスプレッドシートで利用できる非常に便利な関数です。特に、数値を整数に変換し、四捨五入のような操作が求められる場面で役立ちます。本記事では、INT関数の基本的な使い方から、具体的な利用シーンを解説します。…
詳しくみるエクセルで掛け算をする方法をわかりやすく解説
エクセルは、データの集計や計算を効率的に行うための強力なツールです。特に、掛け算の機能を活用することで、売上計算や在庫管理など多くのビジネスシーンにおいて役立ちます。本記事では、エクセルで掛け算を行う基本的な方法を詳しく解説し、それに続いて…
詳しくみるスプレッドシートで文字列を抽出するには?特定文字の前後から複数条件まで解説
Googleスプレッドシートで文字列を抽出する操作は、メールアドレスからドメインを取り出したり、住所から都道府県を切り出したりと、日常業務で頻繁に求められることもあるでしょう。 基本は LEFT/MID/RIGHT と FIND/SEARC…
詳しくみるMAXIFS関数とは?複数の条件で最大値を抽出する方法
MAXIFS関数(読み方:マックスイフス関数)は、複数の条件を満たすデータの中から最大値を抽出できる便利なExcel関数です。 従来のMAX関数や、MAXとIFを組み合わせた配列数式よりもシンプルに記述でき、直感的に使えるのが特徴です。 た…
詳しくみるエクセルでヘッダー・フッターを挿入・編集する方法
エクセルで文書を作成する際、ヘッダーやフッターは情報整理に欠かせません。ページ番号やタイトル、日付などを挿入することで、文書の完成度が向上します。本記事では、エクセルでヘッダーやフッターをどのように挿入・編集するか、具体的な手順を詳しく解説…
詳しくみる



