テック・ガジェット・ショッピングなど

エクセルDATE関数のシリアル値で日数計算

エクセルのDATE関数は、指定した日付をシリアル値として返してくれ、このシリアル値を利用することで日数の計算が可能となる。

DATE関数の概要

書式

DATE(年,月,日)

DATE関数の解説

DATE関数は、指定した日付をシリアル値で返してくれるのだが、上記の書式通りに記述すると下記サンプルの表示結果のように「2013/5/26」と表示される。

A1B1C1サンプル書式表示結果
2013526=DATE(A1,B1,C1)2013/5/26

これは単なる日付なので、シリアル値を確認するためには、書式のセルを右クリックして「セルの書式設定」で「標準」又は「数値」を選択することでシリアル値が表示される。

「2013/5/26」のシリアル値は「41420」と表示されるはずだ。

シリアル値とは

シリアル値とは、1900年1月1日を「1」として、そこからの通算日数を数値化したもので、1900年1月30日であれば「30」となる。

なので「年」を1900よりも小さい数字を入れると、下記のように1900がプラスされた値が返ってくる。
=DATE(1000,1,1)

2900/1/1

なお、Mac版のExcelでは、1904年1月1日からが「1」とあるが、Mac版Excel 2011で確認したところ、1900年1月1日が「1」となっていた。
日付のデータを受け取ったら、新たに同じ日付を作成してシリアル値で見比べてみる必要がある。

サンプル書式

A1セルサンプル書式結果概要
1900/1/1=DATE(1900,1,1)シリアル値は1A1の日付をシリアル値で返す
1900/1/1=DATE(YEAR(A1),MONTH(A1),DAY(A1))シリアル値は1年月日をYEAR、MONTH、DAYの関数で取得してDATE関数でシリアル値を返す

DATE関数のシリアル値で日数計算

DATE関数でシリアル値を取得することによって、日付の日数計算が可能となる。

サンプル書式表示結果
=DATE(1900,12,31)-DATE(1900,1,1)365

なお、日付の計算は、単純にセルを参照して「引く」ことでも求めることができる。

A1B1サンプル書式表示結果
1900/1/11900/12/31=B1-A1365