- ベストアンサー
給料計算8:00-17:50→9時間50分としたい
=IF(OR($B2=0,$C2=0),"",($C2-$B2+IF($B2>=$C2,1,0))*24) のままでは小数点として表示されますが、 (8:50-18:40の場合9.833333333となる) 9.50(9時間50分)というふうに表示されるにはどうすればいよいですか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
わざわざ*24してるのを、やめるだけです。 =IF(OR($B2=0,$C2=0),""C2-B2+(B2>=C2)) セルの表示形式を時刻にしておく。
その他の回答 (5)
- Nouble
- ベストアンサー率18% (330/1783)
お答えします、 何時間何分と表示させたいセル(場所)にお入れ下さい。
補足
何度もすいません。Noubeさんの式の隣は、僕の提示したしきですよね。 A1 A2 A3 A4 08:00 17:00 09:00(僕の式の結果) (Noubeさんの式) 合ってますか? 未だに #NAME? と出ます。
- Nouble
- ベストアンサー率18% (330/1783)
まず常識的話しですが 1分が60秒 1時間が60秒 故に1時間が3600秒 ですよね、 Excelで時分秒を管理するとき 1時間を数値の1とします。 従って 1分は1/60 1秒は1/3600 なのです 要するに「何分何秒かが得たい」と云うことですよね? (※注:何時間かは小数点以下を省いた整数値が概ねそのままですから) 時間の取り出しは省きますね、 ということで 得られた値を「1」で割ったときのあまりを取得すれば小数点が得られますのでこれで行きます、 使う関数はMOD関数です 仮にA1に得られた時間が納められているとしますと この時点での式は =mod(A1,1) ところでExcel(に限らずコンピューターのほぼ全て)は我々人間とは違う方法でかずを認識しています。 その為少しずれてしまうことがあります。 例えば、あくまで例えですが、1分を59分59秒999999999…と、認識していたりしかねません。 なので人間がこの手のことを見越して、大目に見てあげて、補正してあげる必要があります。 補正は秒以下の単位ですれば良いと思います。 さっきの時間単位のものに3600を掛けて一端秒単位にします。 =mod(A1,1)*3600 この時の小数点以下の値は1秒に満たない訳ですから 四捨五入でもすれば良いと思います。 =round(mod(A1,1)*3600,0) ここから 秒を得るには =mod(round(mod(A1,1)*3600,0),60) 分を得るには =rounddown(round(mod(A1,1)*3600,0)/60,0) ということで 最終的には =raunddown(A1,0)&"時間"&rounddown(round(mod(A1,1)*3600,0)/60,0)&"分"&mod(round(mod(A1,1)*3600,0),60)&"秒" 又は分までなら =raunddown(A1,0)&"時間"&rounddown(round(mod(A1,1)*3600,0)/60,0)+round(mod(round(mod(A1,1)*3600,0),60)/60,0)&"分" (※注:秒を四捨五入的な処理してみました) これで如何でしょうか?
補足
=raunddown(A1,0)&"時間"&rounddown(round(mod(A1,1)*3600,0)/60,0)+round(mod(round(mod(A1,1)*3600,0),60)/60,0)&"分" の式ですが、僕の質問した式が入っているセルの隣に入れるのでしょうか?或いは9:00 17:00 の後に入れるのでしょうか?
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のような式にしてはいかがでしょう。 =IF(COUNT(B2:C2)<>2,"",IF(C2>B2,C2-B2,C2+"24:00"-B2))
補足
この数式の隣には-1を引くセルがあり、(休憩時間があるため) -1の結果は-0.625,書式設定で時刻を選んでも#の連続になってしまいました。
- chokopocky
- ベストアンサー率21% (17/79)
No2です。誤りがありましたので訂正します。 (誤)=IF(OR($B2=0,$C2=0),"",($C2-$B2+IF($B2>=$C2,1,0))*24) (正)=IF(OR($B2=0,$C2=0),"",($C2-$B2+IF($B2>=$C2,1,0))) で、表示形式を [h]:mm 若しくは [h]"時"mm"分" にしてください。
お礼
訂正有難うございます。
補足
この数式の隣には-1を引くセルがあり、(休憩時間があるため) -1の結果は-0.625,書式設定で時刻を選んでも#の連続になってしまいました。
- chokopocky
- ベストアンサー率21% (17/79)
数式に誤りがあります。 (誤)=IF(OR($B2=0,$C2=0),"",($C2-$B2+IF($B2>=$C2,1,0))*24) (正)=IF(OR($B2=0,$C2=0),"",($C2-$B2+IF($B2>=$C2,1,0)*24)) そのうえで、表示形式を [h]:mm にしていただれば大丈夫です。
お礼
早い回答有難うございます。こんな初歩的な話だったのですね。申し訳ない。