[[20030324202530]] 『24時間を超える時間の計算』(デイブ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『24時間を超える時間の計算』(デイブ)

15分単位の時間を足し上げ、出た答えが30分以上であれば1時間を繰上げ、そうでない場合は切り捨てにしたく下記のような表を作りました。ところが24時間を越えると時間の単位がうまく表示できません。どうしたらよいのでしょうか、よろしくお願いします。

   A    B    C    

1 20:00  20:00 20:00 

2  2:45 1: 15  1: 15

3 0: 30 1: 15 3: 15

4 23: 15 22: 30 *0: 30 この4列にはSUM(A1:A3)という式

5 23 23 1 

 問題の5列にIF(MINUTE(A4)>=30,CEILING(A4,TIME(1,0,0),FLOOR(A4,TIME(1,0,0)))が入っています。式の使い方がいけないのでしょう、また他に適当な式はないのでしょうか。


 A4;C5の範囲を選択し、右クリックメニューの「セルの書式設定」『表示形式のユーザ定義』で [h]:mm とします。

    A      B        C

1 20:00 20:00 20:00

2 2:45 1:15 1:15

3 0:30 1:15 3:15

4 23:15 2:30 24:30

5 23:00 3:00 25:00

その結果は上記のように,表示されます。

 (シニア)


シニアさん、いつもながら適切なアドバイスありがとうございます。

実はもうひとつ問題がおきてしまいました。教えていただいた、「分」の単位を切り上げ、切り捨てをした結果に単価(金額)をかけたのですが、正しい結果がでないのです。ただこれは偶然なのですが、計算結果の金額欄の書式を「ユーザ定義」の”[h]”にしたら、何と結果が正しく表示されたのです。「数値」のセルに「時間」の書式設定なんておかしいですよね。それとも何か理由があるのでしょうか。よろしくお願いします。デイブ


 時間と時給の計算は単位を統一する必要があります。

 シリアル値の日付、時刻と時給の積を求めるときはシリアル値を整数にするために24を掛けます。

C5の25:00、D5に時給500として、E5に=C5*24*D5 として、セルの書式を「通貨」にします。

理由はシリアル値の 1 は1日です。1時間は1日の1/24(0.0416666666666667)で24倍すれば、整数化できます。

E5に =C5*D5 として、セルの書式設定→ユーザー定義で [h] とすれば、

C5の時刻もD5の時給額も時間単位で統一されたので金額は表示上はその金額になります。

つまり、E5の書式を [h] にすると、D5の値500を =500/"1:0" か =500*24 に変換して計算されます。

ただし、この値は,シリアル値の計算結果ですから、3桁の区切りの数値や通貨には出来ません。

判りにくい説明になりましたが、納得して頂けたでしょうか?

 (シニア) 


シニアさん

丁寧な説明ありがとうございました。

シリアル値のことがよくわかりました。よく考えてみると数値データと時間データは本来違うものですよね。性質の異なったデータを単純に掛けたり足したりはできませんよね。時間データの裏にはシリアル値なるものがあるのが理解できました。でもまたすぐに忘れてトラブルでしょうけどね。またそのときはよろしくお願いします。ところで、私の持っているエクセルの解説書にはシリアル値のことがあまり詳しく載っていません。お薦めの参考書がありましたら教えてください。よろしくお願いします。デイブ


 参考書の解説よりExcelのHelpで調べます。

「シリアル値」と入力して、【F1】キーを押せば、日付関数や時刻関数が表示されます。

各関数にシリアル値の説明がされています。

困った時はHelpで調べるようにされては如何ですか?

 (シニア)


分かりましたやってみます。これまでヘルプは利用したことがありませんでした。他のアプリケーションでもそうなのですが、ヘルプはあまり実用的ではないと思っていたものですから。ありがとうございました。デイブ


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.