エクセルのDATE関数は、指定した日付をシリアル値として返してくれ、このシリアル値を利用することで日数の計算が可能となる。
DATE関数の概要
書式
DATE(年,月,日)
DATE関数の解説
DATE関数は、指定した日付をシリアル値で返してくれるのだが、上記の書式通りに記述すると下記サンプルの表示結果のように「2013/5/26」と表示される。
A1 | B1 | C1 | サンプル書式 | 表示結果 |
---|---|---|---|---|
2013 | 5 | 26 | =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) | シリアル値は1 | A1の日付をシリアル値で返す |
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 |
なお、日付の計算は、単純にセルを参照して「引く」ことでも求めることができる。
A1 | B1 | サンプル書式 | 表示結果 |
---|---|---|---|
1900/1/1 | 1900/12/31 | =B1-A1 | 365 |