[Excel] 休日の求め方
記事内容:[Excel]
時間外表を作成してますが、どーしても休日残業のところが分かりません。
曜日から自動で認識し、G8とH8列に時間が入る様にしたいのです。
宜しくお願いします。
普通時間外=5:00~8:30,18:00~22:00
深夜時間外=22:00~30:00
A B C D E F G H
1 日付 曜日 出社 退社 普通残業 深夜残業 休日残業
2 8/1 月 6:00 18:30 2:30 0:00
3 8/2 火
・
・
6 8/6 土 7:30 22:30
<参考 8/1を例に >
普通残業計算式==IF(D7="","",MAX(MIN(E7,"22:00")-MAX(D7,"19:00"),0))+IF(D7="","",MAX(MIN(E7,"8:30")-MAX(D7,"5:00"),0))
深夜残業計算式==IF(D7="","",MAX(MIN(E7,"30:00")-MAX(D7,"22:00"),0))
曜日計算式==WEEKDAY(B7)
C列の曜日は=WEEKDAYを使っています。
http://www.hiemalis.org/~koyama_wk/
みゃみゅ玉子です。
■No895に返信(ieさんの記事)
> 時間外表を作成してますが、どーしても休日残業のところが分かりません。
> 曜日から自動で認識し、G8とH8列に時間が入る様にしたいのです。
> 宜しくお願いします。
何曜日を休日にするかにもよりますが、例えば土日を休日と考えて、表示や計算を変えるようにする場合
IF( OR( WEEKDAY(B7)=1, WEEKDAY(B7)=7), [休日用の計算式], [出勤日用の計算式])
ということになりますね。
これを、普通残業列、深夜残業列、休日残業列でそれぞれ入れてあげるといいと思います。
ただし、これだと「祝日はどうするの?」という問題が発生してしまいますね。
曜日だけの判断でOKならば、ORとIFを駆使すればなんとかなりますが、祝日などを考えてしまうと、例えば「休日列」なんて列を追加して、休日の場合「1」を入れておくなんて判定もできると思います。
休日列を作るのは手動になってしまいますが・・・
こんなかんじでいかがでしょうか?
# どうでもいいことですが、「休憩時間は無いのかな・・・?」なんてことが気になってしまいました。。。
■No924に返信(みゃみゅ玉子さんの記事)
> みゃみゅ玉子です。
> 曜日だけの判断でOKならば、ORとIFを駆使すればなんとかなりますが、祝日などを考えてしまうと、例えば「休日列」なんて列を追加して、休日の場合「1」を入れておくなんて判定もできると思います。
自動は難しいですね・・
やっぱり手動のようですね!
> # どうでもいいことですが、「休憩時間は無いのかな・・・?」なんてことが気になってしまいました。。。
忘れていました・・
アドバイスありがとうございました。
- Microsoft Excel FAQ
- Microsoft Office Users Forum過去ログ
コメント
※技術的な質問はMicrosoftコミュニティで聞いてください!