[[20150302150111]] 『超過時間を求めたい』(HIn) ページの最後に飛ぶ

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

 

『超過時間を求めたい』(HIn)

よろしくお願いします。

超過時間を求めたいです。

作業開始時間と終了時間をそれぞれセルA1、B1に入力します。
9時間を超えた部分を求めたいのですが、
たとえば、(開始)9:00(終了)21:00だった場合、
18:00〜21:00までを超過時間として求めたいと思います。
この場合3時間とすんなり出ますが、

時間は5分単位で入力します。
たとえば超過時間が10分だった場合
10÷60=0.166666・・・・・
なので、小数点第4位を四捨五入し0.167という結果を得たいと思います。

(開始)8:20(終了)19:30の場合、
超過時間は2時間10分なので、2.167という結果がほしいのですが
どういう関数を使えばいいでしょうか?

< 使用 Excel:Excel2010、使用 OS:unknown >


 C1セル =ROUND((MAX(0,(B1-A1)*1440-540))/60,3)

 <結果図>
  行  __A__  __B__  __C__
   1  9:00   21:00      3
   2  9:20   20:30  2.167
   3  9:20   19:30  1.167
   4  9:00   18:00      0
   5  9:00   16:00      0

(半平太) 2015/03/02(月) 16:40


ご回答ありがとうございます。

1440は24時間を分で表した数字だと思うのですが
540はなんですか?
(HIn) 2015/03/02(月) 16:55


 9時間を分で表した数字です

(半平太) 2015/03/02(月) 17:06


MAX関数で何をしているのかよくわかりません。
(HIn) 2015/03/02(月) 17:26

 9時間引くと、もし超過時間がなかったらマイナスになっちゃったりするので、
 ゼロ以下にはしないための措置です。

(半平太) 2015/03/02(月) 18:56


日付をまたいでの質問になってしまい、申し訳ありません。

21:00 − 9:00 をすると 12:00 という結果になるのですが、

12:00に対して、1440をかけ540を引いて60で割ると
なぜ結果がでるのでしょうか?
12:00がどう認識されているのか、いまいち分かりません。

面倒なことを質問して申し訳ありません。
人に聞かれたとき説明できないので・・・

教えていただいた計算式で求めたかった結果は出ています。
ありがとうございます。
(HIn) 2015/03/03(火) 10:55


エクセル内部で時刻を表すためにシリアル値というのが使われています。
これは24時間を1と表現した値です。
(セルの表示形式を標準にすれば確認できますよ。)

なので12時間は0.5となります、単位をつけると0.5日ですね。

A1セルとB1セルの差分からさらに9時間を引いた値を時間で表したいの
ですから、後は算数の問題ですよね?
(CatHand) 2015/03/03(火) 11:20


ありがとうございました。
とてもよくわかりました!
(HIn) 2015/03/03(火) 17:15

コメント返信:

[ 一覧(最新更新順) ]


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