|
不躾ですみません。いろいろ自分で考えてみたのですが、
どうしても方法を思いつかないので、お知恵をお貸し下さい。
Excelで勤怠管理をしております。
70名程度の社員が9時から20時の範囲でシフト勤務をしているのですが、
それぞれの時間帯(9時台、10時台など)に各社員がどれだけ在席していたかを
表であらわす方法がわかりません。
表としては、A列に社員名が並び、B列に出社時刻、C列に休憩開始時刻、
D列に休憩終了時刻、E列に退社時刻が記載されています。
この表は別のシート上のフォームから、遅刻・早退などがあったときに
5分単位で都度書き換わるようになっております。
そして、F列からP列までがそれぞれ9〜19時台をあらわしており、
この中に、1時間丸ごと在席していれば「1」、30分しかいなければ「0.5」と
入るようにしたいと考えております。
(例えば社員Aが、9:15出社、12:00-13:00休憩、17:30退社であれば、
F列は「0.75」、N列が「0.5」、G列とH列、J列からM列が「1」となるイメージです)
これを全員分自動的に埋まるようにしようとした場合、
それぞれの時間帯が含まれるかどうかを調べる方法はありますでしょうか。
VBAでボタンを押したときにまとめて集計するのでも、関数でもどちらでも結構です。
また、処理的に数分掛かるようなことがあっても、特に問題はありません。
ご存知の方がいらっしゃいましたら、ご教示いただけますでしょうか。
よろしくお願いします。
|
|