Articles

エクセルで日付データの認識は

この記事をdel.icio.usに登録する この記事をはてなブックマークに登録する この記事をGoogleブックマークに登録する この記事をYahoo!ブックマークに登録する この記事をdiggに登録する この記事をlivedoor clipに登録する この記事をNewsGattor Onlineに登録する

 日付データ


エクセルで日付の処理は1900年1月1日から9999年12月31日まで認識されます。
この日付のデータというのが面白い。

例えば現在の日付を入力すると2007年5月7日・・・エクセルではこの様に表示はされるでしょう。
そう・・・表示だけは日付データとして見せています。
では本当は?
15-1.jpg



 本当は数値


39209
これが2007年5月7日の値である。(この値の事をシリアル値と呼ぶ。)

どういう事かと言うと、エクセルでは日付のデータは本来数値。表示形式によって数値を日付データとして扱っている。A1のセルの表示形式を「日付」から「数値」に変えてみればよく解るだろう。
15-2.jpg

最初に述べたようにエクセルでは1900年1月1日からしか日付として認識しない。そしてこの始点を数値のとしている。1とセルに入力し、表示形式を「日付」にすると1900年1月1日となる。

そして1日増やすごとに数値も1増し、1900年1月2日であれば、数値2となる。
1900年2月1日の様に月・年をまたがる事になっても31日から1日経過しただけなので数値は32となる。

2007年5月7日は1900年1月1日から39209日経過しているとも言える。


 では時間は?
日付データは1日1という事が解った。
では時間データはどうなのか?

答えはこれも数値である。
単純に1日=24時間=1なので12時間であれば0.5となる。
2時間は1÷24×2となるので0.0833333...

実はこの時間というのが曖昧で、割り切れない数値が出てくる。特に秒数まで扱うと厄介である。

1秒は数値でいくつになるのか?
1÷(60×60×24)=0.0000115740740740740.....
となり、1秒が割り切れないのである。

依って時間を扱う場合は数値として考えるのは不向きであろう。


 日付を使って色々
日付の場合だと「常に明日の日付を表示させたい」時に「=TODAY()+1」とすると、今日の日付+1で明日になる。
ただ、一月後・・・一年後・・・を表示させたい場合等には30日の時もあれば31日の時もあるのでズレてしまう。
そういう場合は=DATE関数を使う。
=DATE( YEAR( TODAY() ) , MONTH( TODAY() ) +1 , DAY( TODAY() ) )

これで今日から1か月後の日付を表示する。

日付を使う場合にはDATE関数やYEAR,MONTH,DAY、シリアル値についても覚えておくと良いだろう。

関連記事




この記事をdel.icio.usに登録する この記事をはてなブックマークに登録する この記事をGoogleブックマークに登録する この記事をYahoo!ブックマークに登録する この記事をdiggに登録する この記事をlivedoor clipに登録する この記事をNewsGattor Onlineに登録する

トラックバック一覧

コメント一覧

コメント投稿フォーム
Name
Subject
Mail
URL
Comment

Password
Secret
管理者にだけ表示を許可する

Navigations, etc.

Navigations

ブログ記事を検索

SPONSORS

人気記事ランキング

ブログパーツ

メールフォーム

名前:
メール:
件名:
本文:

Tweet

最新記事