2010年01月13日

時間と時刻

私自身もよく混同してしまうのですが、Excelで扱うことができるのは、「時間」というよりも「時刻」のデータです。
もちろんExcelでは時間の合計や差なども求められますが、それはあくまでも「時刻データ」を利用して時間の計算を行っているにすぎません。

たとえば、退勤時刻(例:17:00)から出勤時刻(例:9:00)を引くと、その日の在社時間(例:8:00)が求められます。
しかし、この計算で求められる答えも、Excelから見れば、「8時間」という時間ではなく、「8時」という時刻のデータです。
計算の結果が24時間以内に収まっていれば時間か時刻かなどと悩まなくてもいいのですが、たとえば加算を行った結果が24時間を超える場合、「1900/1/1」のような日付のデータが発生し、時刻のほうは0時から数え直されることになります。

正確に言うと、24時間よりも前の、「9:00」のように時刻だけで表示されているデータも、日付のデータを持っていないわけではありません。
以下は、最近某掲示板に書いたExcelの日付・時刻データについての文章に、少々手を加えたものです。Excelの日時データの扱いを理解している人にしてみれば「今さら」というような話でしょうが、整理する意味も込めて書いておくことにします。

Excelの日付・時刻データの正体は、1日を「1」とする数値です。
整数部分が日付、小数部分が時刻を表しており、1時間は0.04166…(24分の1)になります。
その数値に、日付または時刻の表示形式が設定されているわけです。

日付・時刻データの起点は1900年1月0日0時0分0秒で、数値にするとここが「0」になります。
時刻だけのデータは整数部分を持たないため、通常、数式バーに日付の部分は表示されませんが、実際には1900年1月0日の時刻を表しています。
24時間を超えた場合は整数部が発生し、数式バーには日付と時刻がともに表示されます。

ただし、セル上での表示に関しては、[h]:mmのような表示形式で、この日付部分をすべて時間数に換算して表示することができます。
時間同士の計算であればこのまま普通に計算に使用できますが、その結果を表示するセルにも同様の表示形式を設定する必要があります。

この表示形式を設定した場合も、セル上では「45:30」のように時間数で表示されていますが、数式バーではあくまでも「1900/1/1 21:30:00」のような「日付 時刻」の併記になっています。
(ちなみに、数式バーに表示される日付と時刻の間には、半角スペースが1つではなく2つ入っています。)

なお、たとえば時給×時間数のような計算をしたい場合は、時間の表示されているセルを24倍すれば、1時間を「1」とする数値に換算できます。
posted by 土屋和人 at 14:11| Comment(0) | TrackBack(0) | Excel
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/34719259
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック