壁B日付・時刻の計算がわからない。 ( No.4 ) |
- 日時: 2004/07/25 17:25
- 名前: 管理人
- エクセルで日付・時刻の計算をするととまどう事があります。
例えば「4/24」と入力して「4月24日」と表示されるのは、前記の壁Aで紹介した「表示形式」の仕業です。
ところが、日付・時刻の計算では、それ以外に注意しなければいけない根本の問題があります。
エクセルにおける日付・時刻の正体を理解しなければなりません。 実はエクセルでは日付や時刻は連続する数値(シリアル値)で管理されているのです。
例えば「2004/4/24」と入力すると自動的に日付データとして表示されるが、シリアル値では「38101」と言う数値になります。 これは、「表示形式」を「標準」にすると確認できます。
<日付のシリアル値> 1900/1/1 −> シリアル値は1 1900/1/2 −> シリアル値は2 2004/4/24 −> シリアル値は38101 2004/4/25 −> シリアル値は38102
<時刻のシリアル値> 0:00:00 −> シリアル値は0 12:00:00 −> シリアル値は0.5 24:00:00 −> シリアル値は1 (0:00:0)
<日付、時刻のシリアル値> 2004/4/24の12:00:00 −> シリアル値は38101.5
上記のように、日付・時刻の実際の数値はシリアル値で持っています。 この時、時刻の表示は24時間を越えたものは、翌日の時刻として、「0:00」にいったんもどって表示されます。 また、実際の数値はシリアル値なので「36:00」といった時刻であっても実際は「24時間+12時間」で「1+0.5」の「1.5」にしかなりません。 ですから、勤務時間×時間給のような計算を行いたいときは、勤務時間を計算に使える数値に変換する必要があります。 (通常、「36:00」は24時間を越えているので「12:00」と表示される。「36:00」と表示させるには、「表示形式」を「ユーザー定義」で「[h]:mm」のようにする。)
<給与の求め方> 1.9:00から17:00まで働いたとします。 2.この場合勤務時間を時分で求めると、17:00 − 9:00 で8:00になります。 3.時間給が1000円だったとき、給与を1000 × 8:00で求めようとしても正しい結果が得られません。 なぜなら、8:00というのは実際の数値はシリアル値で、0.333・・・だからです。 4.ですので、8:00を給与計算の時間として計算できる数値に変換しなければあなりません。(この場合、8:00は8という数値に変換できれば良い。) 5.変換方法として、次のいずれでもかまわない。 (24時間がシリアル値では1となるので下記のような計算式となる) a)時刻/”1:00” b)時刻/1/24 c)時刻*24
<日付の表示形式> 表示形式 表示例(シリアル値38113の場合) 1.yy/mm/dd → 04/05/06 2.m/d(ddd) → 5/6(Thu) 3.dddd,mmmm,d,yyyy → Thursday,May,6,2004 4.aaaa → 木曜日 5.ggge”年” → 平成16年 6.gge → 平16 7.ge/m/d → H16/5/6 8.e”年”m”月”d”日”(aaa) → 16年5月6日(木)
<”[]”を着けた時刻の表示例(”[]”を付けると表示が変わる)> 表示形式 表示例(シリアル値3.2389の場合) 1.[h]:mm:ss → 77:44:00 2.[h]”時間”mm”分”ss”秒” → 77時間44分00秒 3.[m]”分” → 4664分 4.[s]”秒” → 279840秒
|
|