- ベストアンサー
EXCELで関数を使って残業時間の計算がしたいのですが・・
EXCELを使って残業時間の計算したいと思っているのですが、関数にあまり詳しくないのでアドバイスお願い致します。 (A1)出社、(B1)退社時間は30分単位で自分で入力します。 D1に10時間以降残業にし、残業に満たない場合は未表示で30分単位は0.5と表示させようと思っています。 今現在 A1=出勤時間 8:00 B1=退社時間 20:00 C1=労働時間 12:00 関数 =IF(A1="","",B1-A1) D1=残業時間 =IF(C1="","",IF(C1>"10:00",(C1-"10:00")*24,"")) と、いう感じにやってみましたが、D1の計算がうまくいきません。よくわからないのですが、シリアル値というのが関係してるのでしょうか?宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
[時間(hour)] / 24 で シリアル値になります [D1] =IF(C1="","",IF(C1>10/24,(C1-10/24),"")) これでで、10時間オーバー分の時間のシリアル値が出ます。 時間表示にすると「xx:xx」形式で表示されます。 =IF(C2="","",IF(C2>10/24,FLOOR((C2-10/24),0.5/24),"")) これに、このようにFLOOR関数を噛ませると30分刻み(端数切り捨て)になります。 30分を0.5で表す、つまり0.5時間刻み表示にするならば =IF(C2="","",IF(C2>10/24,FLOOR((C2-10/24),0.5/24)*24,"")) 表示形式は数値にしてください。
その他の回答 (2)
- hirumin
- ベストアンサー率29% (705/2376)
No.2で回答したhiruminです。 途中からセルの行が変わってました。 「C2」を「C1」に置き換えて下さい。
- shikisaito
- ベストアンサー率52% (257/491)
=IF(C1="","",IF(C1>"10:00"*1,(C1-"10:00")*24,""))
お礼
ありがとうございました! できれば*1の意味をご教授していただきたかったのですが(^^; 自分なりに勉強してみます。
お礼
細かく説明していただきありがとうございました! とても参考になりました(^^