ピアのパソコン学習ガイド
メニュー
Excel関数

DATEDIF関数の使い方|生年月日から年齢、入社日から勤続年数

ピアのパソコン学習ガイド 編集部2026年11月9日 更新

※写真はイメージです

書き方はこれだけ

=DATEDIF(始まりの日, 終わりの日, "単位")

2つの日付の間が、何年・何か月・何日あるかを出します。年齢は "Y"、勤続年数の「か月」の端数は "YM"です。ちょっとクセがあって、DATEDIFは関数の一覧(fxボタン)に出てこないので、自分で打ち込みます。

生年月日から年齢を出す(今日が2026/11/9のとき) C2 fx =DATEDIF(B2,TODAY(),"Y") A B C 1 2 3 4 氏名 生年月日 年齢 佐藤 1978/4/15 48 鈴木 1985/11/20 40 高橋 1992/1/8 34
生年月日から今日までが何年かを "Y" で数えて、年齢にしています。誕生日が来ていない人は、まだ1つ少ない年齢になります。

この図の表をExcelファイルでダウンロード(問題と答えのシートつき)

単位の指定

単位数えるもの使う場面
"Y"満何年年齢・勤続年数
"M"満何か月契約の月数
"D"何日日数(引き算でも同じ)
"YM"1年未満の端数の月「○年○か月」の○か月
"MD"1か月未満の端数の日結果がずれることがあるので使わないほうが安全

勤続年数を「○年○か月」で出す

勤続年数を「年」と「か月」で出す C2 fx =DATEDIF(A2,TODAY(),"YM") A B C D 1 2 3 入社日 年 か月 勤続 2015/4/1 11 7 11年7か月 2021/10/1 5 1 5年1か月
年は "Y"、残りの月は "YM"。2つを =B2&"年"&C2&"か月" でつなげます。

有給休暇や退職金の計算は、会社の規則で「○日を1か月とする」のように数え方が決まっていることがあります。式で出した数字が規則と合っているとは限らないので、先に規則を確かめてから作ってください。

うまくいかないとき

1#NUM! になる

始まりの日が終わりの日より後になっています。

直し方引数の順番を「古い日付, 新しい日付」にします。

2#VALUE! になる

日付が文字で入っています(「2026.11.9」など)。

直し方「2026/11/9」の形で入れ直すか、DATEVALUEで日付に直します。

3fxボタンの一覧にない

DATEDIFは互換のために残っている関数で、一覧に表示されません。

直し方セルに直接 =DATEDIF( と打ち込めば使えます。

サンプルファイルで試す

黄色のセルにDATEDIFの式を入れて、「答え」のシートと比べてください。

datedif.xlsx をダウンロード(無料・登録なし)

よくある質問

エクセルで年齢を計算するには?

=DATEDIF(生年月日のセル,TODAY(),"Y") で、今日時点の満年齢が出ます。

DATEDIFが見つかりません

関数の一覧には出てきませんが、セルに直接打ち込めば使えます。

Googleスプレッドシートでも使えますか?

はい。DATEDIFはスプレッドシートでも使え、一覧にも出てきます。

一緒に覚えたい関数・操作

このページについて

操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報