エクセルの関数について質問です。タイムカードの時間を拾うためにエクセルで表を作成しています。幾つか関数を試してみたのですがうまく計算されません。深夜残業割増時間(PM10:00~AM5:00)の時間数だけ抜き出すことは出来ますか?例えば、PM9:00~翌日のAM6:00まで勤務の場合、PM10:00~AM5:00までの時間数は7時間となります。この7という時間数を拾うための関数をご存知の方、教えていただけますか?

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2009/01/29 13:29:35
  • 終了:2009/01/29 18:06:43

ベストアンサー

id:SALINGER No.3

SALINGER回答回数3454ベストアンサー獲得回数9692009/01/29 15:16:20

ポイント35pt

勤務時間がPM9:00~翌日のAM6:00の範囲内ならば、これでどうでしょうか。

勤務時間以外を指定すると空白を反します。

=IF(A1>=21/24,IF(B1>=21/24,IF(B1<22/24,0,B1-IF(A1<22/24,22/24,A1))*24,IF(B1<=6/24,(IF(B1>5/24,5/24,B1)-IF(A1<22/24,22/24,A1)+1)*24,"")),IF(A1<=6/24,IF(B1>21/24,"",IF(B1<=6/24,IF(A1>5/24,0,IF(B1>5/24,5/24,B1)-A1)*24,"")),""))

http://q.hatena.ne.jp/

id:yokukangaeyo

ありがとうございます。教えていただいた式を入力したところ

指定の時間を拾うことができました。時間の範囲も変えてみました。

2009/01/29 16:44:57

その他の回答(2件)

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692009/01/29 14:06:14

ポイント35pt

例えばA1に深夜時間の始まりを入れB2に深夜時間の終わりを入れるとすると。

(セルに時間を入れるときに、24時間表示にするか、12時間表示で 10:00 pmのように後に

半角pmのように入れると時刻として認識します)


時間だけを抜き出す場合

=HOUR(B1-A1+1)


分も小数点で表す場合。7.5時間とか。

=(B1-A1+1)*24

(次の日なので1を足す)


凡庸的に、A1に就業時間、B1に終業時間を入れてその中の深夜時間だけを割り出す関数なら

=(IF(B1>5/24,5/24,B1)-IF(A1<22/24,22/24,A1)+1)*24

http://q.hatena.ne.jp/

id:yokukangaeyo

ご回答ありがとうございます。計算式を入れてみましたが、結果が負の値になってしまいます。深夜勤務の開始と終了時間は一定ではなく、22:00以前からスタートすることもあれば、22:00以降にスタート(例えば翌日の2:00など)することもあります。やはり、関数では難しいのでしょうか?

2009/01/29 14:34:17
id:chuken_kenkou No.2

chuken_kenkou回答回数722ベストアンサー獲得回数542009/01/29 14:11:18

ポイント10pt

前提条件が曖昧なので、次の通りとした場合の例を示します。


  • 勤務開始時刻は、A2セルに時刻の形式で入っている
  • 勤務終了時刻は、B2セルに時刻の形式で入っている
  • 勤務時間数は、数値で得る
  • 24時間勤務はない

=IF(A2>B2,HOUR(B2)+24,HOUR(B2))-HOUR(A2)

http://q.hatena.ne.jp/だみー

id:yokukangaeyo

ご回答ありがとうございます。前提条件が少なくスイマセン。入力してみたところ、単純に終了時刻から勤務時刻間の数値を拾ってきました。この時間から、22:00~29:00(AM5:00)の時間数だけを拾いたいのですが、可能でしょうか?

2009/01/29 14:47:10
id:SALINGER No.3

SALINGER回答回数3454ベストアンサー獲得回数9692009/01/29 15:16:20ここでベストアンサー

ポイント35pt

勤務時間がPM9:00~翌日のAM6:00の範囲内ならば、これでどうでしょうか。

勤務時間以外を指定すると空白を反します。

=IF(A1>=21/24,IF(B1>=21/24,IF(B1<22/24,0,B1-IF(A1<22/24,22/24,A1))*24,IF(B1<=6/24,(IF(B1>5/24,5/24,B1)-IF(A1<22/24,22/24,A1)+1)*24,"")),IF(A1<=6/24,IF(B1>21/24,"",IF(B1<=6/24,IF(A1>5/24,0,IF(B1>5/24,5/24,B1)-A1)*24,"")),""))

http://q.hatena.ne.jp/

id:yokukangaeyo

ありがとうございます。教えていただいた式を入力したところ

指定の時間を拾うことができました。時間の範囲も変えてみました。

2009/01/29 16:44:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません