プロが教えるわが家の防犯対策術!

エクセル2003を使用しています。
機械でタイムカードを打刻したあと、最終的に私がエクセルに入れて集計しています。
就業開始時間前は何もつかないので、出社時間を入れず
退社時間のみで表を作っています。

何点かできるといいなあと思う事がありまして。。色々調べているのですが、
ぴったりの回答が見つからなく困ってしまいました。
宜しくお願いします。

勤務時間8:30~17:00 所定 7.5時間 残業は10分単位です。
この単位は月末に最終的に丸めます。
例)17:15→15分残業 17:23→23分残業 ・・合計3時間13分 →3時間10分
また、17:10までに退社した場合は、その10分間はカウントしません。

今エクセルで17:00からの残業時間を終業時間-17:00で 0.23分などとだしています。

質問
1.17:10までに退社した場合は残業時間を表示しない
 ifでやるのかな~と思って入れてみましたが、分の単位なのでうまくできません。。

2.家庭の都合で 途中中抜け(私用外出)をする人がいます。
 その方は別に外出した時間をマイナスとして合計したいのです。
 例)10:10~10:42 外出 マイナス32分(こちらも最終的に10分でまるめます)
 今は時間を書き出し電卓で計算しています^^; 
 エクセル上でマイナスの時間だけの行を作って集計できたらいいなあ。。と。。

本当は出社・退社時間をきっちり入れてしっかりした勤務表がいいのでしょうが、
技術と時間がありません。。
まず上記のことだけできるといいなあと思っています。
何かと情報の記載漏れがあるかもしれませんが
宜しくおねがいします。

A 回答 (3件)

例えばA1セルに出社時刻、B1セルに退社時刻、C1セルに勤務時間、D1セルに残業時間、E1セルに外出始時刻、F1セルに外出終時刻、G1セルに外出時間の文字がそれぞれ入力されており、A列、B列、E列、F列には下行にそれぞれ時刻が入力されるとします。


C2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(B2="","",MIN(B2,"17:00")-MAX(A2,"8:30")-"1:00")

D2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(B2="","",IF(B2>"17:10"*1,B2-"17:00",0))

G2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNT(E2:F2)=0,"",F2-E2)

そして最後には集計した時間を10分単位で丸め込んだ時間にするわけですがそのデータを例えば26行目に表示させるとしたらC26セルには次の式を入力します。FLOOR関数は数値を切り捨てて基準値の倍数にします。

=FLOOR(SUM(C2:C25),"0:10")

D26セルには次の式を入力します。

=FLOOR(SUM(D2:D25),"0:10")

G26セルには次の式を入力します。CEILING関数は数値を切り上げて基準値の倍数にします。

=CEILING(SUM(G2:G25),"0:10")

なお、勤務時間から外出時間を引くのでしたらC26セルの式は

=FLOOR(SUM(C2:C25),"0:10")-G26

勤務時間の計算などではMIN関数、MAX関数、FLOOR関数、CEILING関数などが使われますのでよく理解しておくことがよいでしょう。

なお、お示しした表では出社時刻の列は時刻の入力が無くても、その場合には8:30からの開始として取り扱われます。しかし、実際には遅刻をして出社する場合もあるのではないですか。
関数を入力して計算結果が小数点などで表示される場合にはセルの書式設定から表示形式で時刻を選んでください。
    • good
    • 0
この回答へのお礼

すごいです!教えて頂いたように作成してみましたら、とても都合よく
表示され感動しております(TT)
ただ、式の内容を理解するには(自分で作成できるようになるには)
時間がかかりそうなので、先にお礼をさせて頂きます^^;
今回FLOOR関数は理解したところだったのですが、
他の関数も頑張って覚えようと思います。本当に助かりました。ありがとうございました!

お礼日時:2011/05/30 22:20

質問2


こちらに乗っていました ごらんください

参考URL:http://detail.chiebukuro.yahoo.co.jp/qa/question …
    • good
    • 0

質問1


=IF(A1>=TIME(17,10,0),A1-TIME(17,0,0),0)
A1は、退社時間
TIME(17,10,0) は、切り捨て時刻 時:分:秒で設定
ようするに 退社時間が17:10より大きいときに0とするということです

A1-TIME(17,0,0),
は、退社時刻マイナス17:00 ということです。

質問2

=戻ってくる時間-出ていく時間
としておいて、実際の計算のときに-A1のようにしては、マイナス符号をつけては、いかがでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました。
1は解決しました。2はうまくできませんでしたので><、上記URLを見ながら再度
やってみます!

お礼日時:2011/05/30 21:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!