Excelでは、日付と時刻はシリアル値と呼ばれる数値として保存されます。たとえば、以下のように表現されます。
日付・時刻 | シリアル値 |
---|---|
2025/5/1 | 45778 |
13:05:10 | 0.54525463 |
このように数字で表されるので、日付・時刻を使って計算を行うことができます。しかし、このシリアル値の性質を理解していないと思った通りの結果が得られない場合があります。そこで、この動画ではシリアル値の構造について解説し、日付・時刻を正しく計算する方法を紹介します。
日付のシリアル値
まず、日付のシリアル値について解説していきます。たとえば、2025/5/1と入力すると日付の形式でデータが表示されます。

このデータは日付の形式になっていますが、実際はシリアル値と呼ばれる数値によって構成されています。シリアル値を表示させるには、Ctrl+1でセルの書式設定を開き、表示形式で「標準」を選択します。

これで「45778」というシリアル値が表示されます。

その他、VALUE関数を使う方法もあります。VALUE関数を挿入し、引数に日付のセルを指定すれば、シリアル値が表示されます。

ここではVALUE関数を使って日付とシリアル値の両方を表示させていきます。
では、このシリアル値は何によって決められているのかということです。これは1900/1/1をシリアル値の1として、1日ごとに1ずつ加算されていくという構造になっています。

たとえば、1900/1/1に30を加えると、1900/1/31が表示されます。

シリアル値も1に30を加えた31となります。

シリアル値は1900年からスタートしているので、それ以前の日付を入力してもシリアル値は表示されません。

また、1900/1/1に45777を加えれば、2025/5/1を表示させることができます。つまり、2025/5/1は1900/1/1から45777日後ということです。

このシリアル値は日付の表記が違っても、同じ日付であれば同じシリアル値になります。たとえば、数字と漢字で2025年5月1日と入力します。そうすると、先ほどと同じ45778というシリアル値が表示されます。

その他、年・月・日をハイフンでつなぐ表記でもシリアル値は同じです。

年を省いて月と日だけを記載しても、自動的にその年が補完され、同じシリアル値が表示されます。

日付の表記はセルの書式設定の日付に一覧があり、これらはすべて同じシリアル値を持ちます。

たとえば、月を英語表記に変えてもシリアル値に変化はありません。

このように日付はシリアル値によって表現されており、シリアル値の1が1日と対応しています。
日付の計算
次にこのシリアル値を踏まえて、日付の計算を行っていきます。スケジュールを立てる際に何日後、何か月後といった日付を加えることがありますが、単純に加算するだけでは正しく計算できない場合があります。
たとえば、基準日2025/5/1の15日後、10か月後、5年後、5年10か月15日後を計算したいと思います。

計算の方法は大きく2種類あり、日付に加算する方法とDATE関数を使う方法です。
15日後の計算
まず、15日後を計算します。これは一番単純で基準値に15を加えれば、15日後の16日の日付が表示されます。


次にDATE関数を使う方法です。DATE関数は、年、月、日を指定して日付のシリアル値を返す関数です。
DATE(年, 月, 日) |
---|
指定された年、月、日に対応するシリアル値を返す。 |
この方法では一度、2025/5/1を年、月、日に分解して、日に15を加えます。年、月、日に分解するため、YEAR関数、MONTH関数、DAY関数を使用します。DATE関数の1つ目の引数にYEAR関数を挿入し、引数に基準日を選択します。これで、2025という値を抽出します。同じようにMONTH関数では、5を、DAY関数では1を抽出します。最後にDAY関数で抽出した1に15を加えます。

これで数式を確定すれば、15日後の16日の日付が表示されます。

10か月後
今度は10か月後を計算します。シリアル値の1単位は1日なので、単純に10を足すだけではダメで、1か月の30日をかける必要があります。


これで一旦は、10か月後の日付が表示されますが、問題があります。1か月は必ずしも30日ではないということです。31日の月もあれば、28日の月もあります。また、うるう年で日数が変わる場合もあります。
このような日数の違いも考慮して10か月後を表示するにはDATE関数を使用します。先ほどと同じように2025/5/1日を年・月・日に分解し、MONTH関数で抽出した5に10を加えます。

これで、正確に10か月後の2026/3/1を表示させることができます。

単純に30日を10倍した日付を加算したい場合は、最初の方法でもいいですが、日数の違いも考慮して計算したい場合はDATE関数を使用することをおすすめします。
5年後
今度は5年後を計算します。加算して計算するには、5に365日をかけた数字を基準日に加えて計算します。

しかし、この方法ではうるう年を考慮できていないので、1日日付がずれた4/30になってしまいます。

より正確に計算するには、DATE関数を使用します。今回はYEAR関数で抽出した2025に5を加えます。

これで、正確に5年後の2030年5月1日を表示させることができます。

最後に2025/5/15から5年10か月15日後を計算します。日数を加算する方法では、月に30、年に365をそれぞれかけて加えれば、一応の結果は出ますが、やはり正確な結果にはなりません。


DATE関数を使う方法では、それぞれ抽出した年・月・日の数字に年数・月数・日数を加えます。

これで、正確に5年10か月15日後を計算することができます。

このように日付の場合、シリアル値は1単位1日を表すので、日数の計算は単純に加算すれば計算することができます。しかし、年・月では1年、1か月の日数に差が生じるので、単純に加算するということが難しいです。そのため、DATE関数を用いて計算することをおすすめします。
コメント