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

Excelの知識 , , , , , ,

日付データ

エクセルで日付の処理は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秒が割り切れないのである。依って時間を扱う場合は数値として考えるのは不向きであろう。まぁExcelは賢いのでちゃんと計算してくれてますが。

日付を使って色々

日付の場合だと「常に明日の日付を表示させたい」時に「=TODAY()+1」とすると、今日の日付+1で明日になる。

ただ、一月後・・・一年後・・・を表示させたい場合等には30日の時もあれば31日の時もあるのでズレてしまう。
そういう場合は=DATE関数を使う。

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

今日から1ヶ月後を表示

=DATE(YEAR(TODAY()),MONTH(TODAY())+1,DAY( TODAY()))

DATE関数
=DATE(年,月,日)
引数の年月日からシリアル値を返します。

YEAR関数
=YEAR(シリアル値)
シリアル値の年数だけを返します。

TODAY関数
=TODAY()
今日の日付を返します。引数は指定なし。

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  • ▼お小遣い稼ぎしませんか?▼ 日々の生活にhappyをプラスする|ハピタス

    クレジットカード・FX口座を作るだけで簡単に3万円GETです。一切支出はありません。

TODAY ユーザー定義関数 無料 グラフ DATE フロー図 目標 日付 ワイルドカード XLSTART テンプレート 置換 HLOOKUP NA() SUMIFS INDEX 作業効率UP VLOOKUP SUM コピペ バーコード MATCH COLUMN 図形 印刷 COUNTIF 検索 SUMIF 条件付き書式 変換
  • 関西在住の30代サラリーマン。事務職で毎日Excelと戯れています。
    システム導入なんて資金が無い!Excelでなんとかやりたい零細中小の社長さん・事務員さんの力になればと思います。
    詳しいプロフィール


PAGE TOP ↑