Excel 指定期間内の年数、月数、日数を取得(DATEDIF関数)
DATEDIF関数は二つの日付の間の月数、月数、日数を計算する関数です。
この関数はLotus 1-2-3との互換性のために残されている関数で
「関数の挿入」では一覧に表示されない関数です。
バグもあり今後、修正する予定がありません。
つまりサポートされない関数のため使えなくなる可能性があります。
そのため可能な限り使用しない方がよいでしょう。
(この関数は便利なのでどうにかしてほしい)
とはいえスピルが地味にサポートされているので
まったく手をつけないわけでもなさそうです。
仕様
=DATEDIF(開始日,終了日,単位)
引数 | 省略時の値 | 説明 |
---|---|---|
開始日 | 省略不可 | 期間を取得する開始日を指定。 |
終了日 | 省略不可 | 期間を取得する終了日を指定。 開始日より過去の日付を指定すると#NUM!エラー |
単位 | 省略不可 | 計算方法を文字列で指定(後述) |
単位の仕様
値 | 内容 |
---|---|
Y | 期間全ての年数 |
M | 期間全ての月数 |
D | 期間全ての日数 |
YM | 年月を無視した月数 |
YD | 年月を無視した日数 |
MD | 年月を無視した日数 ※修正予定なしのバグあり |
代替手段
全ての機能を代替出来ませんが、下記の関数を使用します。
日数が違う月同士の計算や閏年の扱いを自分で調整できる利点もあります。
2つの日付の間の日数を取得(DAYS関数)
DAYS関数で月を跨いで日付を計算する場合に使用します。(単位:D)
日時データより年月日時分秒を抽出する関数(YEAR、MONTH、DAY、HOUR、MINUTE、SECOND)
各関数で年数や月数を計算する場合に使用します。(単位:Y、YM)
単位:Mは年数を12で掛ける調整が必要です。
年、月、日を指定して日付(シリアル値)を取得(DATE関数)
DATE関数で年や月を合わせてからDAYS関数で計算します。(YDとMD)
使用例
DATEDIF関数を使用した結果の例です。

スピルを利用する方法とメリット
Office365やExcel2019以降ではスピルという形式で記述可能です。
これは複数セルに数式をコピーする場合に便利な機能です。
スピルの利用には何れかの引数を複数セルの範囲で指定します。

数式を入力するのは最初の一つのセルですが、
引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

スピルを利用することで今回の例では、
F3セルに入力するだけでよいため(F4以降にコピーペーストが不要)
以下のメリットがあります。
- 入力の手間が少ない(数式のセルが多いほど効果が大きい)
- 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
- 絶対参照が不要
- 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。
Excel完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド

本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。
【本書の特徴】
- 情報量:Word-A4サイズ換算で1,400ページ相当
- 基本操作から高度なテクニックまで、段階的に学習可能
- 140種類の関数を詳細に解説
- 109種類の実用的なテクニックと具体例を紹介
- 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説
【対象読者】
- Excel初心者からプロフェッショナルまで
- 体系的にExcelスキルを向上させたい方
- 業務効率化を目指すビジネスパーソン
- データ分析や可視化のスキルを磨きたい方
【本書の強み】
- 実務に即した例題と解説
- 視覚的な図表やスクリーンショットで理解を促進
- 最新のExcelバージョンに対応した内容
- 著者の長年の経験に基づく、実践的なTipsを多数収録
【更新とサポート】
- 常に最新の情報を反映するため、定期的に内容を更新
- 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください
【入手方法】
- 買い切り:950円
- Kindle Unlimited:読み放題プランで利用可能
Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。