エクセル入門
DATEDIF関数(年齢・勤続年数)

Excelの初心者向け入門解説
公開日:2013-07-21 最終更新日:2021-06-24

DATEDIF関数(年齢・勤続年数)


2つの日付の間の日数、月数、または年数を計算します。


この関数は、Lotus 1-2-3 との互換性を提供するために用意されています。
この関数は、関数ウイザード(数式パレット)が用意されていませんので、全て手入力する必要があります。

DATEDIF関数の書式

DATEDIF(start_date,end_date,unit)

Start_date

期間の初日 (開始日) を表す日付を指定します。
日付は、引用符で囲んだテキスト文字列、シリアル値、または他の数式や関数の結果を指定できます。

End_date

期間の最終日 (終了日) を表す日付を指定します。

Unit

返される情報の種類を指定します。
値は次のいずれかになります。

Y 開始日と終了日の間の年数を返します。
M 開始日と終了日の間の月数を返します。
D 開始日と終了日の間の日数を返します。
MD 開始日から終了日までの日数です。日付の月数および年数は無視されます。
※重要※
制限事項があるため、"MD"は使用はお勧めしません。
戻り値がマイナスになる場合があるので、余程限定的な場合以外では使用できません。
YM 開始日から終了日までの月数です。日付の日数および年数は無視されます。
YD 開始日から終了日までの日数です。日付の年数は無視されます。

DATEDIF関数の使用例

A1セルに 1980/3/1、B1セルに2020/7/23
と入っている場合

=DATEDIF(A1,B1,"Y") ・・・ 40、年数になります
=DATEDIF(A1,B1,"M") ・・・ 484、月数になります
=DATEDIF(A1,B1,"D") ・・・ 14754、日数になります
=DATEDIF(A1,B1,"MD") ・・・ 22、484月と22日
=DATEDIF(A1,B1,"YM") ・・・ 4、40年と4ヶ月
=DATEDIF(A1,B1,"YD") ・・・ 146、40年と144日

DATEDIF関数の注意点

DATEDIF関数は、いくつかの問題点が報告されています。
うるう年の2/29を挟んだ場合の特殊なケースではありますが、注意は必要です。

良く使われるもので、これはバグと言えるかどうか分かりませんが、
=DATEDIF("2020/2/29","2021/2/28","Y")
この結果は、0となります。
=DATEDIF("2018/2/28","2019/2/28","Y")
この結果は、1となります。
勤続年数を計算する場合に、この結果は不都合になる場合があります。

多少の問題はあるものの、代替えとなる関数がありません。
IF関数等で正しく対応しようとすると、とても長い数式となってしまいます。
特定のケースでは、バグがある事を理解した上で、上手に使うようにしましょう。


エクセル関数辞典 AI版(DATEDIF)


Officeサポート DATEDIF関数

ワークシート関数全一覧(最新版)
ワークシート関数一覧(2007まで)
ワークシート関数一覧(2010以降)



同じテーマ「エクセル入門」の記事

NOW関数(現在の日付と時刻)
WORKDAY関数、WORKDAY.INTL関数(稼動日数だけ前後の日付)
NETWORKDAYS関数、NETWORDAYS.INTL関数(稼動日の日数)
DATEDIF関数(年齢・勤続年数)
MATCH関数(範囲から値を検索し一致する位置)
INDEX関数(範囲から指定されたセル)
OFFSET関数(行数と列数シフトした位置のセル範囲)
INDIRECT関数(参照文字列で間接的にセルを指定)
EDATE関数(月数だけ前後の日付)
EOMONTH関数(月数だけ前後の月の最終日)
WEEKDAY関数(曜日に変換)


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ