- ベストアンサー
Excelの時間表示
2:30を2.5、2:50を2.83というように、時間の表示([h]:mm)を、"分"は使わず、"時間"だけで表すことはできますか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A1に時刻が入っているなら、別のセルに =MOD(A1,1)*24 と入れれば出ると思います(このとき勝手に時刻に書式設定されるようなら、セルの書式設定で標準に戻してください)。
その他の回答 (4)
- subri
- ベストアンサー率28% (16/56)
関数で宜しければ =A1/"1:00"としてみてください。 "1:00" の意味は、1時間を1単位として、これで割り算しています。 この数式が入力されているセルの書式は標準にしておいてください。
お礼
ありがとうございます。 この方法でもできました。
- Wendy02
- ベストアンサー率57% (3570/6232)
#2 の harukabcde さんへのフォローです。 表示形式のままではうまく行かないので、イベント型のマクロを考えてみました。 こんなものは、あんまり役に立たないでしょうけれども、思った以上に、マクロでやると、関数よりも難しいです。(関数を使えばよいのですが(^^;) このマクロは、A1:A10 までに、2:30 などと入れた時に反応するように出来ていますが、そうでないときは、0が入ります。 '<シートモジュール> Private Sub Worksheet_Change(ByVal Target As Range) Dim myTime As Double Dim test As Variant If Not Intersect(Target, Range("A1:A10")) Is Nothing Then Application.EnableEvents = False On Error GoTo Err test = Format(Target.Value, "hh:mm") myTime = Target.Value If myTime > 1 Then myTime = myTime - Int(myTime) Target.Value = Int(myTime * 24 * 100 + 0.5) / 100 Target.NumberFormat = "0.00" End If Err: Application.EnableEvents = True End Sub
- shkwta
- ベストアンサー率52% (966/1825)
No.1の補足への回答です。 MODを入れるのは、A1に日付が一緒に入っている場合に備えたものです。Excelでは、整数部で日付、小数部で時刻を表わしています。 たとえば、A1に2005/3/21 18:15 と入っている場合です。
- harukabcde
- ベストアンサー率15% (94/610)
エクセルの表示機能では出来ません。 例にある 2時間30分 という値は シリアル値では 0.1041666666・・・ です。 表示ではなく、 シリアル値自体を2.5にするのは 24倍すればいいのですが、 表示設定でどうにかしようとも 2.5 という表示にはなりません。 http://okweb.jp/kotaeru.php3?q=1264810 にも同じ質問がります。
お礼
ありがとうございました。
お礼
ありがとうございます。 単純に24を掛けて、表示形式を標準にすれば、できました。 MODを入れる意味は何ですか?