Excel開始日から終了日の期間を求めたいDATEDIF(デイトディフ)関数
スポンサーリンク
DATEDIF(デイトディフ)関数
DATEDIF関数は二つのセルに入っている日付の経過時間を、年・月・日のいずれかの単位で計算させる事ができます。書き方は以下の通り。
書き方
=DAETDIF(開始日,終了日,単位)
開始日と終了日は、セルまたはシリアル値で指定します。単位については下表の様に戻り値を示す文字列を指定します。
単位の戻り値
単位 | 戻り値 |
”Y” | 期間内の満年数 |
”M” | 期間内の満月数 |
”D” | 期間内の満日数 |
”MD” | 開始日から終了日までの日数。月数と年数は無視される。 |
”YM” | 開始日から終了日までの月数。日数と年数は無視される。 |
”YD” | 開始日から終了日までの日数。年数は無視される。 |
DATEDIFの使い方
上図は、開始日を生年月日、終了日を本日で指定した場合の年数「Y」を表し、満年齢を表示させています。
「M」を指定した場合は生年月日から本日までの「月数」を、「D」を指定した場合は生年月日から本日までの「日数」を返します。
「MD」や「YM」等は言葉で書くと分かりづらいのですが、試してみると「無視する」という意味が分かるかと思います。
因みに「本日」はTODAY関数を使用しています。これは入れておくとファイルを開くと常に本日を表示してくれるので便利ですが、閉じるときは全く数値が変わっていなくても保存するか否かを聞いてきます。
スポンサーリンク
DATEDIF関数は、エクセルの「隠し関数」として扱われおり、現在のバージョンでも使えるようになってます。図の右下で「#NUM!」のエラーが出ていますが、これは敢えて間違えた場合の例として載せています。隠し関数であるがゆえに、Excelのバージョンで使えなくなったと思いがちですが、このエラーが出た場合は、恐らく「開始日」と「終了日」が逆に指定されていることが多いです。日付を扱うので、マイナス表示で返されることが無いので気づきにくいと思われます。ご注意下さい。
また、年齢のセルに単位となる「歳」を表示させていますが、今回は2通りで表示させています。
1つ目は書式設定で表示形式を「ユーザー定義」にして「#,### “歳”」と指定する方法。この方法だと手入力で数値を入れても単位が表示されます。
2つ目はセルの関数式の中に「&」で繋げて追加する方法です。この方法は簡単に指定できてセルの表示形式に依存することなく使用でき、更に「&」で「YM」を繋げることによって「○歳○ヶ月」と表示させることも可能です。
それぞれのシーンに合わせて使い分けてみてください。
スポンサーリンク