学習月日: 年 月 日
Excelの日付と時間
Excelで日付や時間を扱うことは頻繁にあります。スプレッドシート(spread sheet:表計算ソフトで用いられる、行と列で構成される表。)の中に日付や時間を使用せずに作成することが”不可能”なほど、密接に関わっています。
日付と時間の表示とそれを計算することには大きな隔たりがあります。それは日付や時間の持つ特殊性にあります。
次の計算を考えます。
2000年1月1日−2004年12月31日=?年?ヶ月?日
2005年2月1日から40日後は何年何月何日になるでしょうか?
PM10:45から2時間30分後は何時?
Excelで日付や時間を扱う方法を考えます。
Excel では、日付を計算するために、日付が一連のシリアル値として格納されます。既定では、1900年1月1日はシリアル値1となり、2005年1月1日はシリアル値 38353となります。これは、1900年1月1日から 38,353日が経過しているためです。また、時刻は一日の一部として小数値で格納されます。
しかし、このシリアル値はある設定により次のように変化します。
図1と図2では、図2の数値が小さくなっています。なぜ、このようなことが起こるのでしょうか?
Excel では、1900年日付システムと1904年日付システムの2つの日付システムに対応しています。既定では、Windows 版 Excel では1900年日付システムを使用し、Macintosh 版 Excel では1904年日付システムを使用します。
他の OS で作成されたドキュメントを開くと、日付システムは自動的に変更されます。たとえば、Macintosh 版 Excel で作成したドキュメントを Windows 版 Excel で開くと、[1904 年から計算する] チェック ボックスが自動的にオンになります。
日付システム |
最初の日付 |
最後の日付 |
1900 |
1900 年 1 月 1 日 (シリアル値 1) |
9999 年 12 月 31 日 (シリアル値 2958465) |
1904 |
1904 年 1 月 2 日 (シリアル値 1) |
9999 年 12 月 31 日 (シリアル値 2957003) |
2桁の年の範囲 |
年数の解釈 |
入力例 |
表示 |
00から29までの年 |
2000から2029 |
29/1/24 |
2029/1/24 |
30から99までの年 |
1930から1999 |
45/8/15 |
1945/8/15 |
日付を曜日で表示するには2つの方法があります。
<補足>
Monday、Tuesday、などと表示するには”dddd”とします。略語で表示するには”ddd”と入力します。
TEXT関数:数値を書式設定した文字列に変換します。
構文:TEXT(値 , 表示形式)
WEEKDAY関数:日付を表すシリアル値から、その日付に対応する曜日を返します。
構文:WEEKDAY(シリアル値 , 種類)
表記例:2005年2月3日 ○WEEKDAY("2005/2/3") ○WEEKDAY(DATE(2005,2,3))
×WEEKDAY(05/2/3)
<補足>
数式を「=TEXT(A1),"aaaa"」と記述しても同じ結果を得られます。
TEXT関数を使用すると2つの時刻差の差分を計算することができます。
ただし、日付がまたがった時刻差は計算できません。
<応用>
数式を次のようにすることも可能です。