プロが教えるわが家の防犯対策術!

B列 出勤
C列 退社 
D列 勤務時間 =IF(COUNT(A2:B2)<2,"",IF(A2>B2,B2+1,B2)-A2) 変更後=IF(COUNT(B4:C4)<2,"",IF(((D4-"9:00")*24-I4)<=0,"",(D4-"9:00")-I4))
K列 残業時間 =IF(COUNT(A2:B2)<2," ",IF(C2<=$M$15," ",(C2-$M$15)-M2))
L列 深夜勤務時間 =IF(OR(A2="",B2=""),"",IF(AND(A2<B2,A2>="5:00"*1),(MAX(B2,"22:00")-MAX(A2,"22:00")), IF(AND(A2<B2,A2>=0),(MIN(B2,"5:00")-A2+MAX(B2,"22:00")-MAX(A2,"22:00")),IF(AND(A2>B2,B2<="22:00"*1),(MIN(B2,"5:00")+"24:00"-MAX(A2,"22:00")),IF(AND(A2>B2,B2>"22:00"*1),(MIN(B2,"5:00")+MAX(B2,"22:00")-"22:00"),"")))))
M列 深夜残業 =IF(COUNT(A2:B2)<2," ",MAX(0,MIN("29:00",B2+(B2<A2))-MAX("22:00",A2+"9:00")))
N列 深夜内残業 =IF(COUNT(A2:B2)<2," ",L2-M2)

A 回答 (2件)

手元に iPhone が無いので Android で確認してみました。


Android 版の Excel では、ユーザー定義の表示形式を新たに作ることも、すでに作ってあるものをセルに適用することもできないようですね。
ただし PC 版の Excel で定義を追加してセルに適用したものについては iPhone 版でも正常に働いてくれるようですので、先に PC 版でしっかりと作りこんではどうでしょうか。

または単位を分にしてみるとか。
最終的な表示が分単位でも構わないだろうし、分単位で内部計算し、結果の h の値を表示するセルと m の値を表示するセルとに分けるとか。
時間の部分 = QUOTIENT([分トータル], 60)
分の部分 = MOD([分トータル], 60)
    • good
    • 1

日を跨いだ退社時間を”32:00”のように入力せず、”8:00”のように入力するのであれば、


計算に使う出社時間と退社時間を別のセルで計算させておくことを勧めます。
例えば、
 Y列に出社時間
 =B2+(年月日)
 Z列に退社時間
 =C2+(年月日)
と日付を足してしまう。
こうすれば、
 2017年2月13日 12:00

 「42779.5」
というシリアル値になります。
 2017年2月14日 3:00
なら
 「42380.125」
というシリアル値になるので
 (2017年2月14日 3:00)-(2017年2月13日 12:00)
 の計算は、
 =42380.125-42779.5
と、問題なく行うことができます。


「年月日」の日付が正確に記入されたセルが無い場合は、
DATE関数で日付に関する数値を入力することで日付にすることができます。
 =DATE( 年 , 月 , 日 )
 =DATE(2017,2,13)

 A1セルに年の数値
 B1セルに月の数値
 A2セルに日の数値
が入力されていたら、
 =DATE(A1,B1,A2)
で良いという事です。

これなら、日付を跨いでいても
 出社時間にはY列の値、
 退社時間にはZ列の値、
を使って計算すればよいので、他の計算は簡単に記述することができるようになります。


なので、
 [h]:00
なんて関係ありません。

…と、意訳して回答してみました。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!