- 公開日:
エクセルで経過日数を計算する方法
エクセルで経過日数を簡単に計算する方法をご紹介します。日付の差を計算することで、任意の期間内での経過日数を簡単に求めることができます。
経過日数を計算することにより、締切日やイベントまでの日数などを素早く把握することができます。
経過日数を計算する関数で有休休暇の付与日数や、任意の曜日を除いた営業日計算の方法もご紹介していますので、ビジネスシーンにもご活用ください。
エクセルで経過日数を計算する方法
エクセルで経過日数を計算する方法をご紹介します。
DAYS関数
DAYS関数で経過日数を計算する方法は、以下のとおりです。

生年月日から本日までの経過日数を計算する場合を例にご説明します。
本日の日付を表示させたいセル(例:B3)に「=TODAY()」と入力し、Enterを押します。

B3セルに本日の日付が反映されました。
生まれてからの経過日数を表示させたいセル(例:C3)に「=DAYS(B3,A3)」と入力し、Enterを押します。
DAYS関数とは、開始日から終了日の期間の日数をもとめる関数です。書式は「=DAYS(終了日,開始日)」となり、開始日から終了日の日付間の日数を返します。
下記の記事では、DAYS関数の詳しい使い方をご説明していますので、ぜひ参考にしてください。

DAYS関数で経過日数を計算することができました。
DATEDIF関数

DATEDIF関数は、2つの日付(開始日と終了日)間の年数や月数、日数を求めることができます。日付の単位にはシリアル値を持っており、シリアル値の差分を計算します。
単体で利用するには非常に簡単で覚えやすい関数となっております。
下記の記事では、DATEDIF関数を使用してエクセルで日数をカウントする方法を詳しく解説しています。
日単位だけでなく、週/月/年単位での計算方法もご説明していますので、人事に関する計算(勤続年数や在籍月数)などにも応用できます。
YEARFRAC関数
YEARFRAC関数とは、2つの日付間の全日数が1年間に対して占める割合を計算します。
YEARFRAC関数は年数しか計算できませんが、年数を「1.021」などの小数で表示します。
そのため、「半年」を単位として扱いたい有給休暇計算などの際は非常に便利な関数といえます。
YEARFRAC関数で経過日数を計算する方法は、以下のとおりです。

今回はYEARFRAC関数を使って、有給休暇の付与日数を計算する場合を例にご説明します。
任意のセル(例:D1)に「=TODAY()」と入力し、Enterを押します。
YEARFRAC関数で入社日から本日までの勤続年数を計算する際に使用します。

勤続年数を表示させたいセル(例:F5)に「=YEARFRAC(E5,$D$1,1)」と入力し、Enterを押します。
オートフィル操作でF列に関数を反映させるので、「本日の日付」のD1セルを「$
」で絶対参照にします。

関数の最後の「1」は計算結果の基準となり、「1」は「実際の日数」となります。

①関数を入力したセル(例:F5)を選択します。
②セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

オートフィルでF列にYEARFRAC関数を適用させることができました。
次に、表の横(例:I3:K3)に有休休暇の付与日数一覧表を作成します。上記の画像はフルタイム労働者を想定した場合の表です。

有休休暇日数を表示させたいセル(例:G5)に「=IF(F5<=$J$4,$K$4,IF(F5<=$J$5,$K$5,IF(F5<=$J$6,$K$6,IF(F5<=$J$7,$K$7,IF(F5<=$J$8,$K$8,IF(F5<=$J$9,$K$9,IF(F5<=$J$10,$K$10)))))))」と入力し、Enterを押します。
IF関数を使って「勤続年数が0.5年以下なら10日…
」という計算式を作成しています。

①関数を入力したセル(例:G5)を選択します。
②セルの右下にマウスオーバーし、+マークを表示させて下方向にドラッグします。

オートフィルでG列にIF関数を適用させ、有休休暇の付与日数を計算することができました。
NETWORKDAYS関数(営業日の計算)
NETWORKDAYS(ネットワークデイズ)関数とは、開始日から終了日までの期間で、土/日等を除く稼働日を求める関数です。
エクセルで給与計算をしている方などは、NETWORKDAYS関数を使用すると営業日をスムーズに求められるようになります。
下記の記事では、NETWORKDAYS関数の使い方や書式、NETWORKDAYS関数と関連する関数等について詳しくご紹介していますので、ぜひ参考にしてください。
ExcelのNETWORKDAYS関数の使い方|稼働日を数える
以下で、NETWORKDAYS関数で営業日を求める方法をご説明します。
土日休みの場合
NETWORKDAYS関数で土日休みの場合の営業日を求める方法は、以下のとおりです。

営業日数を表示させたいセル(例:D3)に「=NETWORKDAYS(B3,B4,)と入力し、Enterを押します。
NETWORKDAYS関数の書式は、「NETWORKDAYS(開始日, 終了日, [祭日])」となり、今回は土日のみの休みなので、「[祭日]」は省略しています。

NETWORKDAYS関数で、土日を除く1か月の営業日を計算することができました。
土日祝休みの場合
NETWORKDAYS関数で土日祝日休みの場合の営業日を求める方法は、以下のとおりです。

任意のセル(例:F2:G21)に、1年間の祝日一覧表を作成します。

営業日数を表示させたいセル(例:D3)に「=NETWORKDAYS(B3,B4,F2:F21)」と入力し、Enterを押します。
NETWORKDAYS関数の書式は、「NETWORKDAYS(開始日, 終了日, [祭日])」となり、「[祭日]」に祝日の日付セル(F2:F21)を設定します。

土日祝日を除く営業日を計算することができました。
特定の曜日が休みの場合
毎週の休みが土日ではない場合、NETWORKDAYS.INTL関数(ネットワークデイズ・インターナショナル関数)を使用して営業日を計算します。

今回は日/祝日が休みの場合の営業日を計算するケースでご説明します。
営業日を表示させたいセル(例:D3)に「=NETWORKDAYS.INTL(B3,B4,11,F2:F21)」と入力し、Enterを押します。
NETWORKDAYS.INTL関数の書式は、「=NETWORKDAYS.INTL(開始日,終了日,週末,祭日)」となり、「週末」は以下の表に従って数値を入力します。「祭日」は省略可能です。
祝日も休みとして計算したい場合は、「土日祝休みの場合」セクションのSTEP 1と同様に、祝日一覧表を作成して書式の「祭日」に設定します。
週末(休みの曜日) | 数値 |
---|---|
土日 | 1 |
日月 | 2 |
月火 | 3 |
火水 | 4 |
水木 | 5 |
木金 | 6 |
金土 | 7 |
日のみ | 11 |
月のみ | 12 |
火のみ | 13 |
水のみ | 14 |
木のみ | 15 |
金のみ | 16 |
土のみ | 17 |

NETWORKDAYS.INTL関数で、任意の曜日を除いた営業日を計算することができました。