dポイントプレゼントキャンペーン実施中!

=IF(OR($B2=0,$C2=0),"",($C2-$B2+IF($B2>=$C2,1,0))*24)
のままでは小数点として表示されますが、
(8:50-18:40の場合9.833333333となる)

9.50(9時間50分)というふうに表示されるにはどうすればいよいですか?

A 回答 (6件)

わざわざ*24してるのを、やめるだけです。



=IF(OR($B2=0,$C2=0),""C2-B2+(B2>=C2))
セルの表示形式を時刻にしておく。
    • good
    • 0
この回答へのお礼

早い回答有難うございます。こんな初歩的な話だったのですね。申し訳ない。

お礼日時:2013/04/06 12:55

お答えします、


何時間何分と表示させたいセル(場所)にお入れ下さい。

この回答への補足

何度もすいません。Noubeさんの式の隣は、僕の提示したしきですよね。
A1 A2       A3             A4
08:00 17:00  09:00(僕の式の結果) (Noubeさんの式)

合ってますか?
未だに #NAME? と出ます。

補足日時:2013/04/16 10:26
    • good
    • 0

まず常識的話しですが


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 の後に入れるのでしょうか?

補足日時:2013/04/06 13:33
    • good
    • 0

次のような式にしてはいかがでしょう。



=IF(COUNT(B2:C2)<>2,"",IF(C2>B2,C2-B2,C2+"24:00"-B2))

この回答への補足

この数式の隣には-1を引くセルがあり、(休憩時間があるため)
-1の結果は-0.625,書式設定で時刻を選んでも#の連続になってしまいました。

補足日時:2013/04/06 13:10
    • good
    • 0

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,書式設定で時刻を選んでも#の連続になってしまいました。

補足日時:2013/04/06 13:27
    • good
    • 0
この回答へのお礼

訂正有難うございます。

お礼日時:2013/04/06 12:59

数式に誤りがあります。



(誤)=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

にしていただれば大丈夫です。
    • good
    • 0

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