【Excel】の日付差分関数の詳細解説
本ページでは、Excelで使用する日付差分を求める関数「DAYS」、「DATEDIF」、「NETWORKDAYS」について、初心者向けにわかりやすく、具体例を交えて解説します。これらの関数を使いこなすことで、プロジェクト管理や勤怠管理など、さまざまなシーンで正確な日付計算が可能になります。
目次
概要
Excelでは、日付データを扱うためのさまざまな関数が用意されています。特に、2つの日付の間隔を求める際に役立つのが、DAYS、DATEDIF、NETWORKDAYSの各関数です。
これらの関数は、日数だけでなく、年数や月数など、必要に応じた単位で差分を計算することができます。また、土日や祝日を除いた営業日数を求めるNETWORKDAYS関数は、ビジネスシーンで非常に有用です。
日付計算は、プロジェクトの進捗管理や勤怠管理、スケジュール調整など、さまざまな用途に活用できます。ここからは、各関数の基本的な使い方と具体的な例について詳しく見ていきます。
DAYS関数の使い方
DAYS関数は、2つの日付間の日数差をシンプルに計算するための関数です。構文はとてもシンプルで、以下のようになります。
=DAYS(終了日, 開始日)
この関数は、終了日から開始日を引いた日数を返します。入力する日付は、Excelが認識できる日付形式である必要があります。
たとえば、2025年12月31日から2025年1月1日までの日数を求める場合、次のように入力します。
=DAYS("2025-12-31", "2025-01-01")
この場合、結果は364となります。セルに日付が入力されている場合は、セル参照を用いることも可能です。
例として、セルA1に「2025/04/01」、セルB1に「2025/04/15」が入力されているとき、
=DAYS(B1, A1)
と入力すると、結果は14となり、開始日から終了日までの日数差が求められます。
DAYS関数はシンプルで理解しやすい反面、計算結果が負の数になる可能性もありますので、用途に応じてABS関数などと組み合わせると良いでしょう。
DATEDIF関数の使い方
DATEDIF関数は、2つの日付間の差分を「年」「月」「日」などの単位で求めることができる非常に便利な関数です。構文は以下の通りです。
=DATEDIF(開始日, 終了日, "単位")
「単位」には、以下のような指定が可能です。
- “Y” – 完全な年数の差分
- “M” – 完全な月数の差分
- “D” – 日数の差分
- “MD” – 月と年の影響を無視した日数の差分
- “YM” – 年の影響を無視した月数の差分
- “YD” – 年の影響を無視した日数の差分
例えば、2000年1月1日から2020年12月31日までの完全な年数を求めるには、
=DATEDIF("2000/01/01", "2020/12/31", "Y")
と入力します。この場合、結果は20となります。
また、総月数を求めるには、
=DATEDIF("2000/01/01", "2020/12/31", "M")
とすると、開始日から終了日までの月数が返され、より細かい差分の把握が可能です。
さらに、2つの日付間の正確な日数を取得したい場合は、
=DATEDIF("2000/01/01", "2020/12/31", "D")
と入力することで、日単位の差分が求められます。DATEDIF関数は、開始日が終了日より後の場合にエラー(#NUM!)を返すため、日付の順序には十分注意してください。
NETWORKDAYS関数の使い方
NETWORKDAYS関数は、2つの日付間にある「営業日数」を求めるための関数です。土日だけでなく、祝日など特定の日付を除外して計算することができます。構文は以下の通りです。
=NETWORKDAYS(開始日, 終了日, [祝日])
この関数は、開始日から終了日までの間の全日数から、土日および指定された祝日を除いた日数を返します。祝日はオプションの引数としてセル範囲で指定することができます。
たとえば、2025年1月1日から2025年1月31日までの営業日数を計算する場合、
=NETWORKDAYS("2025-01-01", "2025-01-31")
と入力すると、土日が除外された日数が求められます。
さらに、セル範囲C1:C3に祝日が入力されている場合、
=NETWORKDAYS("2025-01-01", "2025-01-31", C1:C3)
とすることで、これらの祝日も除外して計算が行われます。NETWORKDAYS関数は、ビジネスシーンにおいて、プロジェクトの納期や勤務日数の算出などで重宝されます。
注意点とエラー対策
各関数を使用する際には、以下の点に注意してください。
・日付形式:Excelが認識する日付形式で入力する必要があります。国や地域によって形式が異なる場合があるため、設定に注意してください。
・引数の順序:DAYS関数やDATEDIF関数では、開始日と終了日の順序が重要です。特にDATEDIF関数では、開始日が終了日より後の場合、#NUM!エラーが返されます。
・負の値:DAYS関数は、終了日が開始日より前の場合、負の値を返すため、必要に応じてABS関数で絶対値を取得するとよいでしょう。
・祝日の指定:NETWORKDAYS関数では、祝日として指定するセル範囲に誤ったデータが含まれると、正確な結果が得られません。必ず正しい日付形式で入力してください。
・エラー対策:関数の入力ミスや日付の順序の間違いを防ぐため、事前にデータの確認を行い、不具合が生じた場合はExcelのヘルプや公式ドキュメントを参照してください。
実践例
ここでは、具体的なExcelシート上での使用例をいくつか紹介します。
例1:プロジェクト期間の計算
セルA1に「2025/03/01」、セルB1に「2025/06/30」を入力し、DAYS関数で総日数を求めます。
式:=DAYS(B1, A1)
結果:121日(開始日から終了日までの日数)
例2:従業員の勤続年数の計算
開始日が「2010/04/15」、終了日が「2025/02/18」の場合、
式:=DATEDIF("2010/04/15", "2025/02/18", "Y")
結果:14年(完全に経過した年数)
さらに月数を求める場合は、
式:=DATEDIF("2010/04/15", "2025/02/18", "M")
結果:総月数として計算される値が返されます。
例3:納期までの営業日数の計算
開始日が「2025/07/01」、終了日が「2025/07/31」で、祝日がセル範囲D1:D2に入力されているとき、
式:=NETWORKDAYS("2025/07/01", "2025/07/31", D1:D2)
結果:土日および指定された祝日を除いた営業日数が計算されます。
これらの例を参考に、実際の業務やプロジェクトに合わせた日付計算を行ってください。複数の関数を組み合わせることで、さらに高度な計算や条件付きの処理も可能になります。
また、Excelの他の関数(IF、SUM、DATEなど)と連携させることで、動的な日付管理システムを構築することもできます。これにより、スケジュール調整やリソース管理がより効率的に行えるようになります。
まとめ
本記事では、Excelでの「DAYS」、「DATEDIF」、「NETWORKDAYS」関数について、初心者の方にも理解しやすいように詳細な解説を行いました。各関数の基本構文、具体例、注意点を紹介し、日付計算の基本から応用までを幅広くカバーしています。
DAYS関数はシンプルな日数計算、DATEDIF関数は年/月/日ごとの詳細な差分計算、そしてNETWORKDAYS関数はビジネスシーンで重宝される営業日数の計算に適しています。正しい日付形式と引数の設定に注意することで、Excelでの正確な日付計算が可能となります。
ぜひ、これらの関数を活用して、業務効率の向上やプロジェクト管理の精度アップを実現してください。さらに、他のExcel関数とも組み合わせることで、より柔軟で複雑な日付計算にも挑戦してみてください。
最後までお読みいただき、ありがとうございました。ページ上部の目次リンクを利用して、必要な情報に素早くアクセスすることができます。Excelの公式ドキュメントやオンラインリソースも併せてご活用いただければ幸いです。
このページの内容を参考に、日々の作業やプロジェクト管理に役立てていただければと思います。
ページのトップに戻るには、こちらをクリックしてください。