『DATEDIF関数』二つの日付の差を表示する

エクセル関数(Excel関数)基本だけでも!

二つの日付の差を表示する DATEDIF

ここでご紹介するのは、2つの日付(年月日)の差を表示する関数です。

『 DATEDIF 』という関数を使用いたします。

もちろん便利なんですが、問題が有るみたいです。。。

関数の挿入ウィンドウから『 DATEDIF関数 』の簡易ヘルプを見ようとしても、『 DATEDIF関数 』が見あたら無いと思います。

エクセル(Excel)の本等には載ってるのに、エクセル(Excel)のヘルプに無いのも不思議な話なんですが、無いものはしょうがないですよね。

そもそも『 DATEDIF関数 』は、ロータス社の「1-2-3」という表計算ソフトにて使われていた関数で、エクセル(Excel)にて互換性を保つためだけに作られた関数という話らしいです。

でも、存在してるのですからヘルプぐらいには載せてもらいたいものですよね。。。

ヘルプに載っていないものをご紹介できるから私としては良いんですけどね!

DATEDIF関数

ちょうど、現在の日付と生年月日があるので、これで現在の年齢がわかりますので、さっそく年齢を表示させてみましょう。

DATEDIF関数

関数の挿入ウィンドウから『 DATEDIF関数 』は使用することができませんので、キーボードから直接入力していただくことになります。

年齢を表示させたい(上図ではF3)を左クリックで選択した状態にて『 =DATEDIF( 』を入力します。

最初に指定するセルのは、開始日付を入力しますのでここでは生年月日のE3を選択します。

DATEDIF関数

次に指定するのは、終了日付なんですが、E1を選択したままなので、区切りである『 , 』をキーボードから入力してから、終了日付であるF1を選択します。

ただ、現在の日付F1は一箇所しか表示されていないので、後ほど数式のコピーした場合にずれが生じてしまいます。

このような場合は、絶対参照にてセルを指定しましたよね。というわけで、F1を選択しましたらキーボードより『 F4 』キーを押して絶対参照であることを指定します。

DATEDIF関数

ちゃんと、『 F1 』→『 $F$1 』と絶対参照にて指定されたことが確認できますね。

あと、ひとつ引数が必要ですので、また『 , 』します。

最後の引数は開始日付と終了日付の差を表示させる単位になりまして、ここでは年齢を表示させるので『 "Y" 』を指定します。

『 "Y" 』の意味などは後ほど詳しくご紹介いたします。

とも思われるでしょうが、仕事は理不尽なもので以外とそんな表を作らなければいけなくなることが有ります。

DATEDIF関数

あとは、キーボードよりEnterキーを押して、確定すると現在の年齢が表示されます。

DATEDIF関数

計算通り現在の日付に対応する年齢が表示されました。

一応コピーして絶対参照で指定した部分がずれないかを確認しておきます。

DATEDIF関数

ちゃんと、生年月日は『 E3 』から『 F4 』になってますが、現在の日付は『 $F$1 』であることが確認できました。相変わらず関数は簡単です!

指定した引数に関しまして、開始日付と終了日付はなんとなくわかっていただけると思いますので、単位に関して説明させていただきます。今回は年齢ということで『 "Y" 』と指定した部分のことです。

単位の指定種類は以下の6通りになります。

単位
内容
"Y"
年数にて表示する
"M"
月数にて表示する
"D"
日数にて表示する
"YM"
年数を考慮しない月数を表示する
"YD"
年数を考慮しない日数を表示する
"MD"
年数月数を考慮しない日数を表示する

指定する場合もダブルコーテーション(" ")で囲うことを忘れないで下さい。。

これだけあれば、十分使えるのではないでしょうか!

残念ながら、『 DATEDIF関数 』はヘルプに載っていないので、できれば覚えられると良いと思います。

今回は、年齢を求めただけですが、結構日付の差が必要になることが有ると思いますので、これからは楽できるようになりますね。

ただ、最初の方にて問題が有ると書かせていただきましたが、エクセル(Excel)2003では閏年をまたぐ場合に、表示単位引数を『 YD 』、『 MD 』にて指定した場合に1日ずれが生じるというバグが確認されているそうです。。。

なかなか使い所が難しいですね、紹介しておいて何ですが、バグが有る以上 『 YD 』、『 MD 』を使う場合はかなり注意していただいた方が良いと思います。

『 DATEDIF 』関数表記方法

『 = DATE ( 開始日付 , 終了日付 , 表示する単位 ) 』