- ベストアンサー
EXCEL2000で勤務表
EXCEL2000で勤務表の作成を依頼されました。 関数で計算をしようとしたのですが うまくいかない点があるので 皆様のお知恵をお貸しください 条件は 1.出勤・退勤時間を入力したら休憩時間と勤務時間を求める 2.休憩時間は12:00~13:00と 22:00~23:00の2回(固定) 3.早出,午前半休,午後半休あり 4.時間で1時間単位で○:30という時間はない (丸め込んだ時間を入力する) (求めたい時間) A列 |B列 | C列| D列| 出勤 |退勤 | 休憩| 勤務| 8:00|17:00| 1 | 8|定時 8:00|23:00| 2 | 13|残業 8:00|12:00| 0 | 4|午後半休 8:00|13:00| 1 | 4|午後半休 7:00|12:00| 0 | 5|早出 13:00|18:00| 0 | 5|午前半休 計算式としては 勤務時間=退勤時間-出勤時間-休憩時間なのですが 休憩時間を求める式がよくわかりません。 情報が不足している場合は補足いたしますので ご指摘ください。 環境OS:WIN98 Office2000 SR2 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
=IF(AND(A2<TIME(13,,),B2>TIME(12,,)),TIME(1,,),0)+IF(AND(A2<TIME(23,,),B2>TIME(22,,)),TIME(1,,),0) 書式設定のユーザー設定で h でどうでしょうか? TIME(1,,)は1でもいいですが、 勤務時間を計算するときに1では加算できないので どちらかで、TIMEを使うことになります。 (TIMEでなくてもいいですけど) 24:00以降は25:00のように入力してください。 (1:00とかは計算がめんどうなので) 分単位の入力がないと言う事なので、 私なら、8とか12とか時のみ入力します。 (見た目8:00のように表示) そうすれば =IF(AND(A19<13,B19>12),1,0)+IF(AND(A19<23,B19>22),1,0) で済みます。 もっと簡単な方法があるのかな?
その他の回答 (1)
- Hageoyadi
- ベストアンサー率40% (3145/7860)
退勤時間が13:00以降22:00までなら休憩は1 出勤時間が12:00以前で退勤時間が23:00以降なら休憩は2 それ以外は0 をif関数で振り分けるってのは条件が間違ってますか?
お礼
Hageoyadiさん ご回答ありがとうございます。 ただ,回答の条件をif関数でうまく振り分けらレナ井野でですが お手数ですができましたら条件を回答願いますか?
お礼
taisuke555さん ご回答ありがとうございます。 ご指導の方法で休憩時間を求めることができました。 ありがとうございます。