エクセルで勤続年数を計算し何年何ヶ月何日で表示する方法!

エクセルで勤続年数を計算し何年何ヶ月何日で表示する方法
エクセルで勤続年数を計算し、何年何ヶ月何日で表示させたいときはないでしょうか。

けど、そんな中で悩むことは、

・Excelで勤続年数を計算する方法がわからない
・Excelで何年何ヶ月何日で表示する方法がわからない

ですよね。

今回はそんなお悩みを解決する

・エクセルで勤続年数を計算し何年何ヶ月何日で表示する方法

についてまとめます!

エクセルで勤続年数を計算し何年何ヶ月何日で表示する方法

エクセルで勤続年数を計算するには以下の日付関数を使います。

使用する日付関数

DATEIF関数

構文: DATEDIF(開始日,終了日,単位)
用途:2つの日付のシリアル値から期間を返します。
引数の「単位」は、以下を指定します。
"Y":期間内の満年数
"M":期間内の満月数
"D":期間内の日数
また、年内の月数に絞り込みたいときは"YM"、月内の日数に絞り込みたい場合は"MD"を組み合わせて指定します。

タカヒロ
タカヒロ
入社日からの日数累計を求めたい場合は「単位」に”D”のみを指定すればできます。

TODAY関数

構文: TODAY()
用途: 現在の日付を返します。

勤続年数を計算する日付データの準備

勤続年数を計算する日付データの準備をしていきます。
サンプルデータとして、A列に社員の名前、B列に入社日を以下のように入力します。

社員名 入社日
社員1 2010/4/1
社員2 2015/5/1
社員3 2017/7/1
社員4 2023/4/1
社員5 2024/3/1

次に
C、D、E、F列に
「年数」、「月数」、「日数」、「年ヶ月日表示」という項目名を入れていきます。

わかりやすいように計算の起点となる今日の日付をいれておきましょう。

勤続年数を計算

次に勤続年数を計算していきましょう。

年数を計算

C列に以下の式を入力して、入社日から今日までの完全な年数を計算します。

=DATEDIF(B3, TODAY(), "Y")

この式を下にドラッグして、他の社員にも適用します。

月数の計算

D列に以下の式を入力して、年数計算後の残りの月数を計算します。

=DATEDIF(B3, TODAY(), "YM")

この式も下にドラッグして、他の社員にも適用します。

日数の計算

E列に以下の式を入力して、月数計算後の残り日数を計算します。

=DATEDIF(B3, TODAY(), "MD")

同じくこの式を全員分に適用します。

はい、勤続年数が年数、月数、日数でC列、D列、E列に分かれて表示されましたね!

年ヶ月日にまとめて表示

仕上げに、文字結合して年ヶ月日にまとめて表示させるようにしましょう。

F列に以下の式を入力して、残数を計算した結果を文字結合し年ヶ月日形式に表示させます。

=DATEDIF(B3, TODAY(), "Y") & "年" & DATEDIF(B3, TODAY(), "YM") & "ヶ月" & DATEDIF(B3, TODAY(), "MD") & "日"

式を下にドラッグして、他の社員にも適用します。

はい!できましたね!

応用例:10年以上勤務している行をハイライト

条件付き書式を使用して、10年以上勤務している社員の行をハイライトしてみましょう。

データがあるA1セルからF7セルの間を選択します。

リボンメニューから
「ホーム」タブ>「条件付き書式」>「新しいルール」を選択します。

「新しい書式ルール」ウインドウが表示されたら、
「数式を使用して書式を設定するセルを決定する」を選び、
次の数式を入力します。

=$C3>=10

そして、セルの背景や文字色は希望する書式設定を適用していきます。

はい!
勤続年数10年以上の行がハイライト表示になっていますね!

確認のため、別の行の入社日を10年以上の年数になるよう変更し、書式が適用されるか見てみましょう。

問題ないですね!

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったように動かないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
DATEDIFが関数候補に出てこない 古い互換関数のため、入力候補に表示されない 手入力する。スペルは DATEDIF(DATEFIFではない)
入社日が文字列のまま認識されない 「2005.4.1」など、日付以外の形式で入力している =DATEVALUE() で日付に変換する/「2005/4/1」形式で入力し直す
勤続年数が毎日変わる 基準日に TODAY() を使っている 日々変わってよければTODAY()、固定したいなら日付を手入力する
日数がマイナスになる 開始日と終了日の日付の大小が合っていない 基準日が入社日より後かを確認する/“YD” の値で検算する
#NUM! になる 終了日が開始日より前になっている B列とC列のセルを入れ替える

関数の説明

今回使う2つの関数の概要です。
どちらも日付の計算でよく使う関数なので、違いを押さえておきましょう。

DATEDIF関数(デイトディフ)

書式 =DATEDIF(開始日, 終了日, 単位)
できること 開始日から終了日までの期間を、指定した単位で返します。
戻り値 単位に応じた数値(年数・月数・日数)
こんなときに 勤続年数・年齢・契約期間などを「何年何ヶ月何日」で出したいとき。
注意 関数候補に出ないため手入力が必要です。単位は半角のダブルクォーテーションで囲みます。
=DATEDIF(B2, C2, "Y")

TODAY関数(トゥデイ)

書式 =TODAY()
できること 今日の日付を返します。引数はありません。
戻り値 今日の日付(シリアル値)
こんなときに 基準日を「今日」にしたいとき。=DATEDIF(B2, TODAY(), “Y”) で常に最新の勤続年数になります。
注意 開くたび・日が変わるたびに値が変わります。日付を固定したいときは使わないでください。
=DATEDIF(B2, TODAY(), "Y")

さいごに

いかがでしょうか。

今回は、

・エクセルで勤続年数を計算し何年何ヶ月何日で表示する方法(DATEDIF関数)

についてまとめました。

まずは今回のサンプル表で、ぜひ一度試してみてください。
DATEDIFは「Y・YM・MD」の3つを覚えるだけで、「何年何ヶ月何日」を自由に作れます。
社員名簿や会員管理など、入社日や登録日がある一覧ではそのまま使えますよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image