【Excel関数】DATEDIF関数の使い方



DATEDIF関数とは?

今日はDATEDIF関数についてです。
ちなみに読み方はDATEDIF(デイトディフ)です。

DATEDIF関数とは、ある日付からある日付まで何日経ったのかを求める関数です。

例えば平成15年12月29日から平成29年8月18日までは、何年何か月何日経ったのか。
こういった値を求めるときにDATEDIF関数を使います。

DATEDIF関数は生年月日から年齢などを求める際に便利な関数です。



式の形

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

DATEDIF関数の式の形は上記のようになります。

単位は、
“Y”:開始から終了まで何年経ってるか
“M”:開始から終了まで何か月経ってるか
“D”:開始から終了まで何日経ってるか
“MD”:「○年○か月○日」の「○日」の部分だけ
“YM”:「○年○か月○日」の「○か月」の部分だけ
“YD”:「○年○か月○日」の「○か月○日」を「○日」に換算
いずれか使います。単位は「”」で囲みます。



DATEDIF関数の使い方

DATEDIF関数の例

例えば、

=DATEDIF(“2016/10/1″,”2017/12/4″,”Y”)

としてみます。日付も「”」で各々囲みましょう。

これは「2016年10月1日から2017年12月4日まで何年経ったか」は意味します。
故に「1」という値が出ます。1年ですね。

ちなみに単位が
“M”なら14(14カ月ということ)
“D”なら429(429日ということ)
“MD”なら3(1年2か月3日の3日の部分が表示された)
“YM”なら2(1年2か月3日の2か月の部分が表示された)
“YD”なら64(1年2か月3日の2か月3日の部分が日数で表示された)
となります。


DATEDIF関数の応用~日付をセルに入力~

例えば、セルのA1からA2まで何年経ったかをA3に出力したいと思います。
下記をA3に入力します。

=DATEDIF(A1,A2,”Y”)

セルを指定する際は「”」はいりません。

こうすることで、A1とA2に任意の日付を入力すると、
A1の日付からA2の日付まで何年経ったかが表示されます。


DATEDIF関数の応用~今日時点で・・・~

さらに応用です。
今度はB1に任意の日付を入力したとき、今日時点で何年経ったかをB2に出してみます。
今日の日付は、TODAY関数を使います。

エクセル関数の中でも、かなりシンプルな関数の一つがTODAY関数。 今日はTODAY関数を見ていきます。 【目次】 ・TO...

TODAY関数を組み合わせて、下記の式をB2に入力します。

=DATEDIF(B1,TODAY(),”Y”)

これでB1に日付を入力すると、自動で今日で何年経ったかがB2に出力されます。



おわりに

DATEDIF関数はTODAY関数と組み合わせて、今日時点の経過年数や年齢を算出するときによく使う関数です。

例えば仕事で顧客の年齢を生年月日から計算しないといけないとき、
DATEDIF関数を使えば間違えなく瞬時に計算できるので便利ですね。

また、人の年齢というのは月日と共に変わるものです。
毎回生年月日から計算していてはたいへん。
DATEDIF関数はTODAY関数と組み合わせれば常に最新の年齢が出せます。



その他の記事

Excelの関数の1つである、INDEX関数の使い方についてです。 INDEX関数とは? INDEX関数とは指定した...
Excelの関数の1つである、MATCH関数の使い方についてです。 MATCH関数とは? MATCH関数とは指定した...
SUMPRODUCT関数の使い方   A   B   C  D 1 売り物 お値段 個数 産地 2 りんご 100 1...
DATEDIF関数とは? 今日はDATEDIF関数についてです。 ちなみに読み方はDATEDIF(デイトディフ)です。 ...
【目次】 ・IF関数とは? ・IF関数の使い方 ・IF関数の例 ・IF関数の意義 ・その他の記事 IF関数と...
エクセル関数にはいろいろありますが、その中でも比較的簡単で便利な関数の一つにSUMIF関数があります。 今日はSUMIF関数を見ていき...
エクセルの関数の1つである、DATEVALUE関数の使い方についてです。 読み方は「データバリュー」です。 【目次】 1. D...
【目次】 ・VLOOKUP関数とは? ・VLOOKUP関数の使い方 ・VLOOKUP関数の例 ・VLOOKUP関数の意義 ...
エクセルで、指定した日が何曜日か求める式の実例です。 今回は年・月・日が別々のセルに入力されている場合を考えます。 【目次】 ...
今日時点で「何歳何カ月何日」か表示する =DATEDIF(A1,TODAY(),”Y”)&”歳”&DATE...
行や列を表示・非表示にする 行や列を非表示にする Rows("1").Hidden = True &...
テキストのコピーはできません。