- ベストアンサー
Excelで時間の表示について
17時間32分を17:32と表現しているとして、これを切り上げて18と表現する式を教えてもらえませんか。 17:00だと、当然17が答えです。 17:01だと、18が答えです。 以上
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A1に時刻があるとして、 =CEILING(A1,"1:00")*24
その他の回答 (4)
- chie65536(@chie65535)
- ベストアンサー率44% (8755/19868)
横から失礼します。 >基準値について解説していただけたらありがたいです。 =CEILING(A1,"1:00")*24 の意味は「A1を、1/24ごとに切り上げて、24倍しろ」です。 Excelの時刻は「1時間は1/24、1分は1/1440」になっています。 24時間は「24/24」、1440分は「1440/1440」になり「1日」になるのです。 式を見てみましょう。 基準値は「数値」でなければなりませんが、文字列の「"1:00"」が指定されています。 すると、Excelは「これは時間なのじゃないか?」と考え、1時間を意味する「1/24」を基準値にします。 1/24で切り上げしますから「CEILING(A1,"1:00")」の値は 0/24なら0/24 0/24より大きくて1/24以下なら1/24 1/24より大きくて2/24以下なら2/24 2/24より大きくて3/24以下なら3/24 3/24より大きくて4/24以下なら4/24 (略) 21/24より大きくて22/24以下なら22/24 22/24より大きくて23/24以下なら23/24 23/24より大きくて24/24以下なら24/24 となります。 結果、返って来るのは 0/24、1/24、2/24、3/24…~…22/24、23/24、24/24 になります。その値を「*24」で24倍にしていますから 0*24/24、1*24/24、2*24/24、3*24/24…~…22*24/24、23*24/24、24*24/24 になります。「24/24」は「1」ですから、結局、この値は 0、1、2、3…~…22、23、24 になる訳です。 24倍しない場合、つまり =CEILING(A1,"1:00") の場合、「12:05」は、13時を意味する「13/24」を返して来ますが、セルの表示書式が「12時間制」になってたりすると、値は13時を意味する値でも(つまり、値が「13/24」になっていても)「1:00」と表示されてしまうので >ただ、12:05のとき、双方とも1になります。ここは13にしたいところです。 と勘違いしてしまいます。 式は合ってましたが、貴方の表示方法が間違っていただけで「期待している値と違う」と思い込んでしまったのです。 とは言え、貴方が「0~23の整数で答えが欲しい」と言うなら「n時を意味するn/24と言う分数の値では困る」ので、やはり =CEILING(A1,"1:00") ではなく =CEILING(A1,"1:00")*24 が正解になります。 まあ、貴方が「0~23の整数で欲しい」って書いてないので、そう書いてない場合は「どっちも正解」になってしまいます。 整数で欲しいとか、時刻シリアル値で欲しいとか、どういう値が欲しいかきちんと質問に書くと、早めに適切な回答が得られますから、ちゃんと書いた方が良いですよ。
補足
コメントありがとうございます。 > 「12:05」は、13時を意味する「13/24」を返して来ますが この部分は私の意図ではありません。 私は次のように書きました。 > 17時間32分を17:32と表現しているとして 私は時刻ではなく、時間表現を質問しています。 例えば47:10を48時間と表現したいのです。 ただ、質問するときは、確かに24時間以上は念頭にありませんでした。 この前提で行くと、No.1が正解と考えます。
- Sayakonomimoto
- ベストアンサー率19% (23/119)
=IF(RIGHT(TEXT(E12,"hh:mm"),2)<>"00",(LEFT(TEXT(E12,"hh:mm"),2))+1,LEFT(TEXT(E12,"hh:mm"),2)) こんなのどうでしょうか? TEXTで、文字列として判定?させて、00だったら、そのままひだりから2文字抜き出し、 それ以外だったら、2文字抜き出したあとに1足してます。 入力していないときの判定はしてないので、基本的に00が表示されます。 そこはご自身で追加してください。
- mshr1962
- ベストアンサー率39% (7417/18945)
=CEILING(A1,"1:00") または =ROUNDUP(A1*24,0)/24
補足
コメントありがとうございます。 ただ、12:05のとき、双方とも1になります。ここは13にしたいところです。 12時間と5分ですから13時間にしたいところです。
補足
早々の回答でしかも内容が、ばっちりでした。 基準値が1:00であるのが条件のようです。 00:00では答えが全く違うようです。 基準値について解説していただけたらありがたいです。