エクセルで日付を引き算する方法|DATEDIF関数が簡単

ここでは、エクセルで日付を引き算する方法を解説します。

 

何気に困ることなので、パターン別に紹介します。

1.日付の引き算ならDATEDIF関数がおすすめ

日付の引き算には、DATEDIF関数が簡単でいろいろなパターンで使えるので、おすすめです。

 

1-1.DATEDIF関数とは

DATEDIF関数とは、「2つの日付の間の日数、月数、または年数を計算し返す」関数です。

 

つまり、使い方によって「日数の引き算」や「月数の引き算」、「年数の引き算」のすべてがDATEDIF関数でできます。

 

数式の形は、次の通りです。

=DATEDIF(開始日,終了日,単位)

例えば、「開始日」を「1999/1/1」、「終了日」を「2021/11/24」、「単位」を「"Y"」とすると、「2021年11月24日」から「1999年1月1日」の年数を引き算することができます。

なお、各引数の指定の仕方はこの後詳しく説明します。

 

1-2.DATEDIF関数にヘルプはない

DATEDIF関数は、他の関数と違ってヘルプがありません。

 

例えば、DATEDIFと入力している途中で、他の関数であれば候補が出てくるのですが、DATEDIF関数は出てきません。

 

また、「関数の引数ダイアログボックス」もありません。

ただし、正しく入力すればちゃんと使えるので、こういうものだと思いましょう。

2.各引数の指定の仕方

「開始日」、「終了日」、「単位」の3つの引数の入れ方を見ていきます。

 

2-1.「開始日」の指定の仕方

開始日には、「いつから~」の日を入れます。

 

入れ方は2パターンあり、「日付を直接入力する」方法と、「日付の入ったセル番号を入力する」方法です。

 

(1)日付を直接入力する場合

日付を直接入力する場合には、日付を「"」で囲みます。

 

例えば、

=DATEDIF("2021/4/1",~)

のようになります。

 

(2)日付の入ったセル番号を入力する場合

セル番号を入力する場合には、そのまま入れます。

 

例えばセルA1に日付が入っている場合には、

=DATEDIF(A1,~)

となります。

 

2-2.「終了日」の指定の仕方

終了日には、「いつまで」の日を入れます。

 

指定の仕方は、開始日と同じです。

 

2-3.「単位」の指定の仕方

単位には、返す値の単位を指定します。

 

DATEDIF関数で一番分かりづらいのがこの「単位」ですが、この後パターン別に動きを見てみます。

 

ちなみに、「単位」で指定できる種類は次の通りです。

指定の仕方 戻り値(返ってくる値)
 "Y" 期間の年数
"M" 期間の月数
"D" 期間の日数
"MD" (使用不可)←仕様的な問題あり
"YM" 開始日から終了日までの月数(年と日は無視)
"YD" 開始日から終了日までの日数(年と月は無視)

2-4.「開始日」<「終了日」で入れること

当然ですが、「開始日」は「終了日」よりも前の日を指定しましょう。

 

終了日よりも後の日を指定すると、どんな単位を指定しても「#NUM!」エラーになってしまいます。

3.知りたいこと別「単位」の指定の仕方

ここでは、もう少し「単位」の使い分け方を「知りたいこと別」に掘り下げてみます。

 

3-1.単位で指定できるのは全部で5種類

単位で指定できるのは、「"Y"」、「"M"」、「"D"」、「"YM"」、「"YD"」の全部で5種類です。

 

まずは、単位別にそれぞれの返ってくる値を、例を見ながら確認します。

 

開始日をセルA1、終了日をセルB1としたとき、指定できる単位別に返ってくる値は、次の通りです。

指定できる単位
  • 「"Y"」:「終了日‐開始日」の「年数」
     例)10年
  • 「"M"」:「終了日‐開始日」の「月数」
     例)130ヶ月
  • 「"D"」:「終了日‐開始日」の「日数」
     例)3980日
  • 「"YM"」:「終了日‐開始日」の「月数」(繰上分切捨)
     例)10ヶ月
  • 「"YD"」:「終了日‐開始日」の「日数」(繰上分切捨)
     例)327日
  • 「"MD"」:仕様上の問題があり

「"MD"」は、仕様上の問題があり、MicroSoftで使うことを推奨していません。

⇒DATEDIF関数の既知の問題についてはこちら

 

3-2.知りたいこと別の単位の指定の仕方

以上を踏まえ、知りたいこと別の単位の指定の仕方です。

 

3-2-1.「年齢を知りたい」場合は「"Y"」

年齢を知りたい場合は、「"Y"」です。

 

月数や日数は切り捨てられ、「何年経過したか?」がわかります。

3-2-2.「経過月数を知りたい」場合は「"M"」

経過月数を知りたい場合には、「"M"」です。

 

日数は切り捨てられ、「何か月経過したか?」がわかります。

3-2-3.「経過日数を知りたい」場合は「"D"」

経過日数を知りたい場合には、「"D"」です。

 

純粋に、経過した日数を知ることができます。

3-2-4.「年関係なく月の差を知りたい」場合は「"YM"」

年の関係なく、「月数の差」を知りたい場合には、「"YM"」です。

 

年(12か月*年数)は切り捨てられます。

 

ただし、開始日の月が終了日の月よりも後の場合には、「終了日の月-開始日の月+12」が返ってきます。

2-2-5.「年関係なく日数の差を知りたい」場合は「"YD"」

年の関係なく、「日数の差」を知りたい場合には、「"YD"」です。

 

年(365日*年数)は切り捨てられます。

 

ただし、開始日の月日が終了日の月日よりも後の場合には、「終了日-開始日+365」が返ってきます。

4.「〇年〇ヶ月」としたい場合には

「〇年〇ヶ月」という形で求めたい場合には、数式を次のようにします。

=DATEDIF(開始日,終了日,"Y")&"年"&DATEDIF(開始日,終了日,"YM")&"ヶ月"

これで、年数と月数が表示されるようになります。

 

ただ、数式を手打ちするのは面倒なので、コピーし貼り付け、引数を入れなおして使ってください。

 

そのほうが簡単です。

 

以上、参考になれば幸いです。

 


口コミ・評判のいいExcel本の紹介】


Top