Excelで日数計算ができる関数の使い方|活用例と共に紹介

社員の勤続日数を数えたり、案件の納期一覧を作成したりと、業務で年数や日数を数えたい場面は多くあります。手計算で数えるという手段もありますが、Excelの機能を使えばもっと簡単に日数を計算できます。今回は、Excelの関数を用いて日数計算を行う方法を紹介します。

サンプルデータを使って練習がしたい・・・という方向けに、本記事で使用しているデータをダウンロードできるようにご準備しております!こちらからダウンロードしてみてください。

目次

日数計算に使う2つの関数

Excelで日数・年数を数えるための関数には「DATEDIF関数」「YEARFRAC関数」の2種類があります。使用する上では、それぞれに違った長所があるため、両方を覚えておけばシチュエーションごとに適した関数を選べるようになり便利です。ここでは、2つの関数について説明します。

①DATEDIF関数|日/月/年を計算できる隠し関数 

DATEDIF関数は、二つの日付の間の日数・月数・年数を計算できる関数です。例えば「2022/1/4」という日付と「2023/1/12」という日付があるとします。このときDATEDIF関数を用いると、日数であれば「373」、月数なら「12」、年数の場合は「1」とそれぞれ整数で値を返します。

なお、DATEDIF関数は隠し関数であるため「関数の挿入」ボタンでは挿入できず、関数の予測変換にも現れません。使用する際はセルに直接入力しましょう。

DATEDIF関数の使い方

DATEDIF関数を使用する際は、必ず3つの引数を入力しなければなりません。それぞれの役割は以下の通りです。

1.開始日計算の開始地点の日付です。日付が入力されているセルを参照して入力します。
2.終了日計算の終了地点の日付です。日付が入力されているセルを参照して入力します。
3.計算基準何を数えるかを設定します。設定は以下のように入力します。日を数える→[”D”]月を数える→[”M”]年を数える→[”Y”]

例えば、「セルB1に開始日、セルB2に終了日を入力して、日付を数える」という場合は[=DATEDIF(B1,B2,”D”)]と入力します。

開始日を含まない設定

DATEDIF関数は、開始日を含まずに日数計算を行う関数です。例えば、開始日「2023/1/11」、終了日「2023/1/13」とする場合、DATEDIF関数は日数を「2」と計算します。

開始日を含んで日数を「3」と計算してほしいときには、DATEDIF関数の値に直接「+1」する方法があります。例えば、D1に開始日「2023/1/11」、D2に終了日「2023/1/13」を入力したときには、[=DATEDIF(D1,D2,”D”)+1]と入力すれば開始日を含んだ日数が計算されます。

計算できない場合

計算できない場合は以下の点をチェックしましょう。

  • 「DATEDIF」ではなく「DATEIF」と記載をしていないか
  • 開始日よりも前の日に終了日が設定されていないか
  • 計算単位のDやYを囲む””を忘れていないか

「DATEDIF関数」は隠し関数となり、本来使うことを想定されていない関数です。使用する際には、ミスがないか念入りにチェックしましょう。

②YEARFRAC関数|年数を簡単計算 

YEARFRAC関数は、年数を計算できる関数です。例えば「2022/1/4」という日付と「2023/1/12」という日付があるとします。DATEDIF関数は、この状況のとき年数のみを参照するため「1」という数字のみを返します。

一方、YEARFRAC関数を利用すれば「1.021917808」という値が返されます。このように、YEARFRAC関数はDATEDIF関数とは違い、年数しか数えられません。とはいえ、年数を小数で表示するため、「半年」を単位として扱いたいときには非常に便利な関数といえます。

YEARFRAC関数の使い方

YEARFRAC関数には、3つの引数があります。

1.開始日計算の開始地点の日付です。日付が入力されているセルを参照して入力します。
2.終了日計算の終了地点の日付です。日付が入力されているセルを参照して入力します。
3.基準どのような基準で数えるかを入力します。設定は以下のように入力します。
・0:1ヶ月=30日、1年=360日の計算(アメリカ方式のもの)
・1:実際の日数に基づく計算
・2:1ヶ月は実際の日数、1年=360日
・3:1ヶ月は実際の日数、1年=365日
・4:1ヶ月=30日、1年=360日の計算(ヨーロッパ方式のもの)

「基準」については、通常使用する場合には「1(実際の日数で数える)」として入力するとよいでしょう。例えば、「セルB1に開始日、セルB2に終了日を入力して、実際の日数で数える」という状況では[=YEARFRAC(B1,B2,1)]と入力します。

基準を入力しなかった場合には「0」を入力したものとして計算が行われます。求めている結果と違ったということにならないためにも、基準の入力は徹底することをおすすめします。

満年数を数える設定

YEARFRAC関数では、1年と6ヶ月「1.5」と表示します。満年数で数えて「1」年として表示したい場合には、小数点以下を切り捨てる「ROUNDDOWN関数」との併用がおすすめです。ROWNDDOWN関数は、一つ目の項目に切り捨てたい項目を入力し、二つ目の項目に小数点以下いくつまでを残すかを入力して使用します。整数にする場合、2つ目の項目には「0」を入力しましょう。

具体的な例としては[=ROUNDDOWN(YEARFRAC(D1,D2,1),0)]のように記入します。

日数計算の具体例4つ|パターン別に紹介

ここまで、日数・年数を計算できる関数の使い方を説明しました。次は、実際に日数や年数を計算してみましょう。

①日数を計算する

日数の計算には「DATEDIF関数」を用います。計算の開始日終了日をそれぞれ別のセルに記入したら、DATEDIF関数を使う準備は完了です。関数とセルを指定して、計算単位に[”D”]と入力すれば計算されます。ただし、DATEDIF関数は開始日を含まずに計算しているという点に留意しましょう。

開始日を含んで計算をしたい場合には、末尾に「+1」と付け加えれば算出された日数に+1された値が出力されます。

②週数を計算する

日数の計算には「DATEDIF関数」を用いますが、DATEDIF関数単体では週数を数える機能はありません。代わりに、DATEDIF関数で日数を数えて7で割れば週数を算出できます。

③月数を計算する

月数の計算にも「DATEDIF関数」を用います。計算の開始日終了日をそれぞれ別のセルに記入したら、DATEDIF関数を使ってください。今回は月数を計算するため、計算単位には[”M”]を入力します。

ただし、DATEDIF関数を用いた月数計算は日数を切り捨てている点は忘れないようにしましょう。例えば「2022/1/3」から「2022/2/28」は1ヶ月と25日ですが、DATEDIF関数では1ヶ月として計算されます。

④年数を計算する

年数計算には「DATEDIF関数」「YEARFRAC関数」の両方を使用できます。どちらの関数においても、計算の開始日終了日をそれぞれ別のセルに記入します。使用する関数がDATEDIF関数なら、計算単位に[”Y”]と入力して計算しましょう。ただし、月・日の端数が自動的に切り捨てされている点には注意が必要です。

使用する関数がYEARFRAC関数なら、利用したい基準を入力して計算します。こだわりがなければ、3つ目の引数には「1」と入力すれば問題ありません。YEARFRAC関数の場合、月と日が小数で表されるため、DATEDIF関数と同様に表示したければ、ROUNDDOWN関数を併せて利用します。

日数計算における4つの活用例 

ここまでの内容では、日数計算を行う方法について紹介しました。以降では実際にビジネスシーンで使うと想定される状況別に、他の関数との併用も含めた具体例を解説します。

①勤続年数の計算 

勤続年数を計算する一例として「DATEDIF関数」「TODAY関数」の使い方を紹介します。「TODAY関数」は、ワークブックを開いている時点での日付を表示する関数で[=TODAY()]とセルに入力することで使用可能です。画像のように、社員名と入社年月日を記入した表を作成して、表の上に今日の日付が表示されるセルを作っておきます。

続いて勤続年数の項目にDATEDIF関数を記入します。このとき、終了日である今日の日付のセルは「$D$2」のように$をつけて絶対参照にすると、オートフィル機能を使えるため便利です。

②在職月数の計算 

在職月数の計算は、勤続年数と同様に計算できます。DATEDIF関数を用いて、開始日と終了日の月の数を算出します。在職月数を年表示と合わせて分かりやすく表示したい場合は、割り算を使います。年の項目は[=DATEDIF(C3,C4,”M”)/12]のように、12で割り算することで年にできます。

割った残りの月については、「MOD関数」を併用すれば算出できます。なお、DATEDIF関数の計算基準に[”M”]の代わりに[”YM”]と入力して、直接余りの月を求める方法も存在します。

③納期までの日数計算

納期までの日数計算も、勤続年数在職月数の計算と同様に計算できます。DATEDIF関数を用いて、開始日と終了日の日の数を算出します。開始日は、受注日を設定する方法のほか、「TODAY関数」を用いて今日を設定する方法があります。開始日を含めて納期までの日数を計算したい場合は、「+1」を忘れずに入力するようにしましょう。

④有給休暇の計算

社員に付与する有給休暇日数を計算する際にも、日数計算の関数が役立ちます。有給休暇の計算は半年単位で変化するため「YEARFRAC関数」の使用がおすすめです。YEARFRAC関数で勤続年数を計算したら、有給休暇の対応表を作ります。

画像はフルタイム労働者が想定された表です。勤続年数の横に、場合分けができる「IF関数」を使って「勤続年数が0.5年以下なら10日……」という計算式を作ることで、有給休暇の付与日数を計算できます。なお、勤続年数と有給休暇日数を対応させる方法は、他にも「MATCH関数」「INDEX関数」を使う方法もあります。

エクセル 日数計算_スクショ4(有給計算)

まとめ

本記事では、Excelの関数を用いて、日数や月数、年数を計算する方法を紹介しました。「DATEDIF関数」と「YEARFRAC関数」の2種類をうまく使い分けて、日々の業務に活かしてみてください。

「面倒な業務を効率化して残業を減らしたい」
「プロのExcel技を身に着けて社内で頼られる存在になりたい」

そんな方にはユースフルの公式LINEがオススメです!元伊藤忠商事経理でExcel実務のプロ、長内孝平(おさ)が運営しており

  • Excel/PowerPointなどPCショートカット288選PDF
  • Excel無料講義動画480分
  • ユースフルの講座割引クーポン

などLINE会員限定の豪華4大特典を無料でプレゼント中です!ぜひコチラ↓の画像をタップして受け取ってくださいね!

気に入ったらシェア!
  • URLをコピーしました!
目次