[[20170619111341]] 『残業時間を15分単位で表示したい』(ミクロマン) ページの最後に飛ぶ

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

 

『残業時間を15分単位で表示したい』(ミクロマン)

 D4セルに出勤時刻
 E4セルに退勤時刻を入力し
 H4セルに出勤しなくてはいけない時刻
 I4セルに退勤しなくてはいけない時刻が入力されています。
 表示形式としてはユーザー定義のhh:mmです。
 F4セルには計算式で=IFERROR(H4-D4,"-")
 G4セルには計算式で=IFERROR(E4-I4,"-")
 が入っています。
 エラーは出張等がある場合があるので

 そこでF4やG4セルが1:34等で計算結果が表示されるのですが
 これを15分単位で結果がでるようにしたいです。

 そしてそれの結果を全部足したいので
 例
 F4セルに1:44を1:30、G4セルに2:58は2:45
 と表示され足すと4:15にしたいです

 分かりづらくてすいませんが、よろしくお願いします。

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


 =IFERROR(INT((H4-D4)*24*4)/24/4,"-")
 =IFERROR(INT((E4-I4)*24*4)/24/4,"-")
(???) 2017/06/19(月) 14:31

 >エラーは出張等がある場合があるので

 なんでエラーになるのかわかりませんけど、

 =IFERROR(FLOOR(TEXT(H4-D4,"h:mm"),"0:15"),"-")

 とか?
 
 ところで「出勤しなくてはいけない時刻」を過ぎてから出勤した場合はどうなればいいんですかね?

 >=IFERROR(INT((H4-D4)*24*4)/24/4,"-")

 H4が「14:15」、D4が「14:00」の場合、「0:00」になりませんか?
 勘違いでしたらすみません。
(笑) 2017/06/19(月) 15:42

 一応書いておきますが、
「出勤しなくてはいけない時刻」を過ぎてから出勤した場合は「0:00」でいいんだったら

 =IFERROR(FLOOR(TEXT(MAX(0,H4-D4),"h:mm"),"0:15"),"-")

 参考まで。
(笑) 2017/06/19(月) 16:10

おっと、2進数誤差で、ぴったりの場合に切り捨てられるケースがありましたか。ご指摘ありがとうございます。「=IFERROR(INT((H4-D4+0.00001)*24*4)/24/4,"-")」こんな感じに、誤差対策で少し加算してください。

そして、元の式のままにしてあるのですが、私も条件と逆になったときに####と表示してしまうのは構わないのかなぁ?、と思いました。
(???) 2017/06/19(月) 17:33


コメント返信:

[ 一覧(最新更新順) ]


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