Excelを使った日付計算の中でも、期間を年月で表示する方法は、業務や日常のさまざまな場面で役立つ重要なスキルです。
たとえば、社員の勤続年数を「3年2ヶ月」と表示したいとき、契約期間を年と月に分けて管理したいとき、あるいは月数の端数を切り上げて表示したいときなど、ニーズは多岐にわたります。
しかし、Excelには日付の差を計算する関数がいくつかあり、どれをどう使えばよいか迷う方も多いのではないでしょうか。
この記事では、【Excel】エクセルで期間を年月で表示する(切り上げ・DATEDIF・年数と月数を分けて表示)方法について、わかりやすく丁寧に解説していきます。
DATEDIF関数の基本から、年数と月数を分けた表示、切り上げの応用テクニックまで幅広くカバーしていますので、ぜひ最後までご覧ください。
Excelで期間を年月表示するにはDATEDIF関数が最適解
それではまず、Excelで期間を年月で表示するうえでの結論から解説していきます。
Excelで期間を年月形式で表示するなら、DATEDIF関数が最もシンプルで強力な選択肢です。
DATEDIF関数は、2つの日付の差を「年」「月」「日」などの単位で返してくれる関数で、勤続年数や契約期間の管理に広く使われています。
関数の書式は以下のとおりです。
=DATEDIF(開始日, 終了日, 単位)
例)=DATEDIF(A2, B2, “Y”) → 年数を返す
例)=DATEDIF(A2, B2, “M”) → 総月数を返す
例)=DATEDIF(A2, B2, “YM”) → 年未満の端数月数を返す
単位の指定によって、取得できる値が変わってくる点がポイントです。
たとえば「Y」を指定すると満年数、「M」を指定すると総月数、「YM」を指定すると年数を除いた端数の月数を取得できます。
これらを組み合わせることで、「3年2ヶ月」のような表示が実現できるでしょう。
DATEDIF関数はExcelの関数一覧には表示されない「隠し関数」ですが、正しく入力すれば問題なく動作します。スペルミスに注意して入力しましょう。
以下の表に、DATEDIF関数の主な単位と返り値をまとめました。
| 単位 | 返り値の内容 | 使用例 |
|---|---|---|
| “Y” | 満年数(整数) | 勤続年数の表示 |
| “M” | 総月数(整数) | 契約期間の月換算 |
| “D” | 総日数(整数) | 日数換算 |
| “YM” | 年未満の端数月数 | 「○年△ヶ月」の△部分 |
| “YD” | 年未満の端数日数 | 年を除いた日数表示 |
| “MD” | 月未満の端数日数 | 月を除いた日数表示 |
このように、単位の使い分けを覚えるだけでさまざまな期間表示が可能になります。
DATEDIF関数で年数と月数を分けて表示する方法
年数のみを表示する数式
続いては、DATEDIF関数を使って年数と月数を分けて表示する方法を確認していきます。
まずは年数のみを表示する基本的な方法からです。
セルA2に開始日、B2に終了日が入力されている場合、年数を表示するには以下の数式を使います。
=DATEDIF(A2, B2, “Y”)
例)開始日:2020/4/1、終了日:2024/6/15 → 結果:4(年)
この数式は満年数(年の境界を超えた回数)を整数で返すため、非常にシンプルに年数だけを取り出せます。
「何年目か」を知りたい場面、たとえば社員の入社からの経過年数などに最適です。
年未満の端数月数を表示する数式
次に、年数を除いた端数の月数を取り出す方法です。
「3年2ヶ月」の「2ヶ月」部分を取得するには、単位に「YM」を指定します。
=DATEDIF(A2, B2, “YM”)
例)開始日:2020/4/1、終了日:2024/6/15 → 結果:2(ヶ月)
“M”を使うと総月数が返ってきてしまいますが、“YM”を使えば年数を除いた月数だけを正確に取り出せるのがポイントです。
「○年△ヶ月」形式の表示では、この”YM”の理解が欠かせません。
年数と月数を組み合わせて表示する数式
最後に、年数と月数を「○年△ヶ月」の形式でひとつのセルにまとめて表示する方法です。
文字列連結演算子「&」を使って、以下のように記述します。
=DATEDIF(A2, B2, “Y”) & “年” & DATEDIF(A2, B2, “YM”) & “ヶ月”
例)開始日:2020/4/1、終了日:2024/6/15 → 結果:4年2ヶ月
この数式ひとつで「4年2ヶ月」のような読みやすい表示が完成します。
報告書や管理表に貼り付けるだけで使えるため、業務効率が大きく向上するでしょう。
年数と月数を別々のセルに表示したい場合は、年数用と月数用にそれぞれ別のセルへ数式を入力するだけでOKです。表形式のデータ管理に向いています。
Excelで期間の月数を切り上げて表示する方法
切り上げが必要なケースとは
続いては、期間の月数を切り上げて表示する方法を確認していきます。
たとえば、「2024年4月1日〜2024年6月15日」の期間を月数で表す場合、DATEDIF関数では「2ヶ月」と返ってきます。
しかし、請求や契約の現場では「途中の月も1ヶ月として数える」というルールがある場合も少なくありません。
この場合は端数月を切り上げて「3ヶ月」として表示する必要があります。
切り上げが必要な主なケースは以下のとおりです。
| シーン | 切り上げが必要な理由 |
|---|---|
| レンタル・リース契約 | 利用開始月も1ヶ月分として請求するため |
| 保険・保証期間の管理 | 部分的に利用した月も有効期間として扱うため |
| 給与・手当の計算 | 月の途中で雇用開始でも1ヶ月分として処理する場合 |
ROUNDUP関数とDATEDIF関数を組み合わせる方法
月数を切り上げるには、ROUNDUP関数とDATEDIF関数を組み合わせるアプローチが有効です。
ただし、DATEDIFの”M”は満月数しか返さないため、日数ベースで計算してから月換算する方法を使います。
=ROUNDUP(DATEDIF(A2, B2, “M”) + IF(DAY(B2) > DAY(A2), 1, 0), 0)
または
=ROUNDUP((B2 – A2) / 30, 0)
※30日を1ヶ月として切り上げる簡易計算
より正確に端数月を切り上げたい場合は、以下のような数式が使えます。
=DATEDIF(A2, B2, “M”) + IF(DATEDIF(A2, B2, “MD”) > 0, 1, 0)
例)開始日:2024/4/1、終了日:2024/6/15 → 結果:3(ヶ月)
この数式では、DATEDIF(A2, B2, “MD”)で月未満の端数日数を取得し、端数が1日でもあれば月数に1を加算する仕組みになっています。
TEXT関数やIF関数と組み合わせた表示の工夫
切り上げた月数を「3ヶ月」と表示したい場合は、TEXT関数やIF関数を組み合わせることでより見やすい形式に整えられます。
=DATEDIF(A2, B2, “M”) + IF(DATEDIF(A2, B2, “MD”) > 0, 1, 0) & “ヶ月”
→ 結果:3ヶ月
また、年を超える期間を切り上げ表示する場合は、年数部分はDATEDIFの”Y”で取得し、月数部分のみ切り上げ処理を加えるとよいでしょう。
切り上げ計算は業務ルールによって異なります。「月の途中を含む月は1ヶ月とカウントする」などのルールを事前に確認したうえで数式を選択してください。
Excelで期間表示をさらに活用するための応用テクニック
TODAY関数と組み合わせて現在までの経過期間を自動更新する
続いては、DATEDIF関数の応用テクニックを確認していきます。
実務でよく使われるのが、TODAY関数と組み合わせることで現在までの経過期間をリアルタイムに表示する方法です。
=DATEDIF(A2, TODAY(), “Y”) & “年” & DATEDIF(A2, TODAY(), “YM”) & “ヶ月”
→ ファイルを開くたびに今日時点の勤続期間が自動更新される
社員名簿や会員管理表に組み込めば、常に最新の経過期間を確認できるため、手動で更新する手間が省けます。
定期的に参照するファイルには特に有効な手法です。
EDATE関数で終了日を計算してから期間を求める方法
次に、EDATE関数を活用して終了日を動的に計算するテクニックです。
たとえば、契約開始日から12ヶ月後の終了日を自動計算し、その期間を表示したい場面などに役立ちます。
=EDATE(A2, 12)
→ A2の日付から12ヶ月後の日付を返す
=DATEDIF(A2, EDATE(A2, 12), “Y”) & “年” & DATEDIF(A2, EDATE(A2, 12), “YM”) & “ヶ月”
→ 1年0ヶ月
EDATE関数は月単位で日付を加減算できるため、契約期間や更新タイミングの管理に非常に便利です。
条件付き書式や表示形式と組み合わせてビジュアルを整える
最後に、期間表示をより見やすくするための工夫として、条件付き書式との組み合わせを紹介します。
たとえば「勤続5年以上のセルを緑色にする」「契約残期間が3ヶ月以下のセルを赤色にする」といった設定が可能です。
| 条件の例 | 書式設定の内容 | 活用シーン |
|---|---|---|
| 経過月数が60以上 | セルを緑色に塗りつぶし | 勤続5年超の社員を強調 |
| 残り月数が3以下 | フォントを赤・太字に設定 | 契約更新の期限管理 |
| 経過年数が0年 | セルを黄色に塗りつぶし | 入社1年未満の新人識別 |
数式で計算した期間の値をもとに、視覚的なアラートを設定することで、見落としを防ぐ効果的な管理表が作れます。
DATEDIF関数と条件付き書式を組み合わせることで、Excelが単なる計算ツールを超えた業務管理の強力な基盤になるでしょう。
まとめ
この記事では、【Excel】エクセルで期間を年月で表示する(切り上げ・DATEDIF・年数と月数を分けて表示)方法について解説してきました。
DATEDIF関数は、単位の指定ひとつで年数・月数・日数それぞれを柔軟に取り出せる、非常に実用性の高い関数です。
“Y”で年数、”YM”で端数月数を取得し、「&」で連結することで「○年△ヶ月」という読みやすい表示が簡単に実現できます。
また、月数の切り上げが必要な場合は、DATEDIF関数の”MD”と組み合わせることで端数日数を検出し、1ヶ月加算する方法が有効です。
さらに、TODAY関数やEDATE関数との組み合わせによって、リアルタイム更新や契約期間管理など、業務の幅広いシーンに応用できます。
DATEDIF関数はExcelの関数候補に表示されないため、存在を知らない方も多いですが、日付計算においては欠かせない存在です。
ぜひ今回紹介した数式を実際のファイルに取り入れて、日付管理の効率化にお役立てください。