• ベストアンサー

EXCEL関数で教えて下さい。

EXCELの関数を使って以下の値を出したいのですか、どの様な関数をどの様に使えば良いか教えて下さい。 勤務時間で定時終了時間から30分及びそれ以降の時間 (例) 17:00(定時終了時間)で18:00まで残業を した場合にA時間として30分、次にB時間として 30分の計算をする。 この場合のA及びB時間欄の自動算出関数。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

A1に時刻が入っているとして A時間 =IF(A1>TIMEVALUE("17:30"),TIMEVALUE("17:30"),A1)-TIMEVALUE("17:00") B時間 =IF(TIMEVALUE("17:30")<A1,A1-TIMEVALUE("17:30"),0)

noname#8351
質問者

補足

早速の回答ありがとう御座います。 一つ追加で教えて下さい。 B時間は数値が無いときに’0’と成りますが、 A時間も勤務時間(始業時間、終了時間)が入って いない場合に’0’もしくは’スペース’にしたいのです、その場合の書式を教えて下さい。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

>,(B1>TIMEVALUE("17:30"),TIMEVALUE("17:30"),B1)-TIMEVALUE("17:00") ,IF(B1>TIMEVALUE("17:30"),TIMEVALUE("17:30"),B1)-TIMEVALUE("17:00")) としてみてください。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#2です #2の式はそういえば、チェックが甘いですね。 始業時間または終業時間が入っていない時に、スペースにするには、 =IF(OR(始業時間セル="",終業時間セル=""),"",時間が入力されている時の式) のようにします。

noname#8351
質問者

補足

始業時間=A、終業時間=Bで書式がエラーと成ります。 =IF(OR(A1=" ",B1=" ")," ",(B1>TIMEVALUE("17:30"),TIMEVALUE("17:30"),B1)-TIMEVALUE("17:00") 確認をお願いします。

  • _mile_
  • ベストアンサー率57% (71/124)
回答No.1

実はExcelはあまり得意ではないのですけど・・・とりあえず出すことはできたので書いてみます. まず,定時終了時刻を セルA1 に時刻形式で,実際の終了時刻を セルA2 に時刻形式で入れたとして・・・ A時間(セルB2) = IF(A2-A1>=TIME(0,30,0),TIME(0,30,0),A2-A1) B時間(セルC2) = IF(B2<TIME(0,30,0),0,A2-A1-TIME(0,30,0)) ・・・でどうでしょうか? ・A時間 (実際終了-提示終了)が30分より多ければ30分. (実際終了-定時終了)が30分以下であればその値. ・B時間 A時間が30分未満であれば0. A時間が30分以上であれば(実際終了-定時終了-A時間) セルの分類は全て 時刻 です. ちょっと力技のような気もしますけど...

関連するQ&A