エクセルを使ってスケジュール表のようなものを作っているのですが、
分数を入力した時、「5分」は「5:00」と入力できるのですが、
24を超えると0になってしまいます。
例えば「24分30秒」を「24:30」としたいのに「0:30」となってしまいます。
この、勝手に判断してしまう機能を解除する方法はないでしょうか?
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

その列を文字列にするとよいのでは?



具体的には、
列をすべて選択して「書式」「セル」を選び、
<表示形式>タブ内で「文字列」を選択します。

時刻・日付だけではなく、色々な面で、この方法は活用できるかと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。さっそくやってみます。
欲を言いますと、時刻表記で「30時間制」を取り入れたいと思っています。
具体的に言うと、「午前1時」を「1:00」と「25:00」の2種類に区別して、
出社が「1:00」退社が「10:00」で勤務時間は「9:00」
出社が「16:00」退社が「25:00」で勤務時間は「9:00」なんていう計算を
させたいなあと思っているのですが、難しいでしょうか…。

お礼日時:2001/12/09 06:55

こんにちは



 以下のページもご参考になるのでは?

【エクセル技道場】-書式設定-24時間以上の時刻を表示
http://www2.odn.ne.jp/excel/waza/format.html#SEC6

参考URL:http://www2.odn.ne.jp/excel/waza/format.html#SEC6
    • good
    • 0
この回答へのお礼

ありがとうございます。
「技道場」があるぐらいですから、やっぱり奥が深いですよね。
勉強します。

お礼日時:2001/12/10 00:45

30時間制、ということであれば、こういう解決策もありますよ。


A B C
1 9:00 16:00 =B1-A1+"24:00"
2 23:00 3:00 =B2-A2+"24:00"
..............................

C1, C2には、求めたい「時間数」が入っていると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ひと眠りしている間に、皆さんから多くの回答をいただいて
とてもうれしいです。仕事がんばります(笑)。

お礼日時:2001/12/10 00:43

30時間制でしたら、(もうお気づきかもしれませんが)書式を「[h]:mm:ss」ってな感じにしてやればいいです。



「26:30:00」などと入力しても、正しく表示してくれますよ。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ホントは「29時」まで仕事なんかしたくないんですけどね(笑)。

お礼日時:2001/12/10 00:41

まず、「5:00」という入力では、Excelは「5時」と判断してしまいます。


「5分」と判断させるには、「0:5:00」と入力します。
このままでは表示が「0:5:00」ってなってしまいますので、表示形式を使って時の表示を抑制します。

分数を入力する範囲をマウスで選択し、右クリック→セルの書式設定で「ユーザ設定」を選び、[種類]のところに、「m:ss」と入力します。
以上の操作で、お望みの表示が得られたのではないかと思います。

ちなみに、Excel側では入力内容がきちんと時刻として認識されていますので、分数の合計や平均を計算しても、正しく結果が得られるはずです。

また、「90分」を示すのに「1:30:00」ではなく「90:00」と表示させたい場合もあると思います。
このようなときには、書式設定で「[m]:ss」などとしてやればいいです。
    • good
    • 0
この回答へのお礼

ありがとうございます。やってみます。
意外とエクセルって奥が深いですね。もっと勉強します。

お礼日時:2001/12/10 00:39

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

このQ&Aと関連する良く見られている質問

QEXCELで、「00:00:07秒」に「5秒」を足すという計算式を教え

EXCELで、「00:00:07秒」に「5秒」を足すという計算式を教えてください。 計算結果は、もちろん「00:00:12秒」になれば良いです。

Aベストアンサー

Excelでは、1日が1として計算されます。

1時間は1/24
1分間は1/24/60
1秒間は1/24/60/60

なので、5秒を足すなら、5/24/60/60を足せば良いです。

Qエクセルでの時刻表示を「時分秒」にし、且つ「0時」「0分」は表示せず、また「0分38秒」は「38秒」

エクセルでの時刻表示を「時分秒」にし、且つ「0時」「0分」は表示せず、また「0分38秒」は「38秒」と表示したい。

エクセル2010を使用しています。

   A     B      C
  終了    開始    経過時間
1 17:38:25  17:37:47  0:00:38
2 10:21:01  10:13:55  0:07:06

このように、終了時間から開始時間を引き、経過時間を出す表を使っていますが、経過時間の表示を
C1 38秒
C2 7分6秒
としたいと考えています。

時間は全てシリアル値で、現在の書式設定は「時刻」の「13:30:55」です。
これをユーザー設定で「m"分"s"秒"」にすると
0分38秒
7分6秒
となりますが、0分の場合は表示したくありません。
ただし、0秒は表示したいと考えています。

色々なワードで検索しましたが、解決策を見付けることが出来ませんでした。
経過時間を私が望む表示にする方法があるのかどうか分かりませんが、何か方法をご存じの方がいらっしゃれば、ご教示願います。

エクセルでの時刻表示を「時分秒」にし、且つ「0時」「0分」は表示せず、また「0分38秒」は「38秒」と表示したい。

エクセル2010を使用しています。

   A     B      C
  終了    開始    経過時間
1 17:38:25  17:37:47  0:00:38
2 10:21:01  10:13:55  0:07:06

このように、終了時間から開始時間を引き、経過時間を出す表を使っていますが、経過時間の表示を
C1 38秒
C2 7分6秒
としたいと考えています。

時間は全てシリアル値で、現在の書式設定は「時刻」...続きを読む

Aベストアンサー

C1に表示された結果を用いてD1に表示させる式を書きますね。
1行目がタイトル行であれば2行目から使ってください。
Cを省略したければDの式のCを参照している部分にCの内容を代入してください。

D1=IF(HOUR(C1)=0,"",C1&"時間")&IF(MINUTE(C1)=0,"",C1&"分")&IF(SECOND(C1)=0,"",C1&"秒")
(1時間以上になることがないのであれば最初の部分は不要ですが)
これにより、時間部分が0でない場合のみ「○時間」、分部分が0でない場合のみ「○分」、秒部分が0でない場合のみ「○秒」と表示されます。
01:01:01であれば1時間1分1秒
00:01:00であれば1分
00:00:01であれば1秒
00:00:00であれば空白
と言った具合で、0でない部分のみが表示されるわけです。

Qあるセルに17:00と表示されてるのに、編集時に(セルをダブルクリックすると)5:00:00PMと表示されるには?

エクセル(97)のあるセルに「17:00」と
表示されてるのに、編集する時にセルを
ダブルクリックすると「5:00:00 PM」
と表示される事があるのですが、
これはどうやってるのでしょう?

表示形式を変えてしまうと、表示そのものが変わってしまいます。
何かの裏技でしょうか?

Aベストアンサー

OS側の時刻表示の設定です。
Windows2000の場合はコントロールパネルの地域のオプションの時刻タブで
時刻の形式「tt hh:mm:ss」
午前の記号「AM」
午後の記号「PM」
にすればそうなります。
ただタスクバーの時計の表示もこの形式になりますが...

Q7桁の時刻(00:00:00.0)のコンマ以下を省略する方法を分かる方教えて下さい!

エクセル初心者につき、教えて下さい!

7桁の時刻のコンマ以下を省略したいのですが、その方法を分かる方、教えて下さい!
例 18:34:32.5→18:34:32

Aベストアンサー

No.6です。
まだ解決していませんでしたか。

四捨五入ではなく切り捨てにしたいのであれば、
=TEXT(A1-"00:00:00.5","hh:mm:ss")*1
のように、丸めたい下の桁から5引いてから四捨五入されるようにするとよい。

TEXT関数で、数値に対して書式を指定して表示させ、1を掛けることで数値(シリアル値)に戻しています。
数式を入力したセルの表示形式をユーザー書式で "h:mm:ss" または "hh:mm:ss" にしてください。

Q(続)エクセルでVBAを使い、時間入力10:30:45(10時30分45秒)の:コロン省略したい。

始業と終業の時間を入力し勤務時間を計算しております。
時間は時:分:秒まで入力します。
例えば始業時間はA1に8:30:25 、終業時間はB1に17:00:45と入れております。
コロン(:)を省略できるととても楽になります。8:30:25は83025と入力、17:00:45は170045と入力して、
表示にはコロンが入り、セルの書式としては時刻と認識し時間差を(時間:分:秒)と計算出来ればありがたいです。
よろしくお願い致します。

VBAを使った(時間:分)のコロンを入力しないで、かつ表示にはコロンが入り、セルの書式としては時刻と認識し時間計算が出来る例は検索できました。
下記です。 t****さんありがとうございました。
ですがそれを秒まで拡大し(時間:分:秒)に対応できるVBAに変更できず困っております。
何卒よろしくお願い致します。

-----------------------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Range("A:B")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
If IsNumeric(.Value) Then
If .Value < 2400 And .Value Mod 100 < 60 Then
Application.EnableEvents = False
.Value = TimeSerial(Int(.Value / 100), .Value Mod 100, 0)
.NumberFormatLocal = "h:mm"
Application.EnableEvents = True
Else
MsgBox "入力値が不正です"
.Select
.ClearContents
End If
End If
End If
End With
End Sub 'この行まで
-----------------------------------------------------------------------------

始業と終業の時間を入力し勤務時間を計算しております。
時間は時:分:秒まで入力します。
例えば始業時間はA1に8:30:25 、終業時間はB1に17:00:45と入れております。
コロン(:)を省略できるととても楽になります。8:30:25は83025と入力、17:00:45は170045と入力して、
表示にはコロンが入り、セルの書式としては時刻と認識し時間差を(時間:分:秒)と計算出来ればありがたいです。
よろしくお願い致します。

VBAを使った(時間:分)のコロンを入力しないで、かつ表示にはコロンが入り、セ...続きを読む

Aベストアンサー

変換ロジックを関数化して実装してみました。
「8:30:25」「83025」どちらの入力でも対応できているはずです。
ちなみに、2未満を入力すると日とみなし、2以上を入力すると秒とみなして表示されます(この辺はやってみて下さい)。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Range("A:B")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
Application.EnableEvents = False
.Value = MyTimeValue(.Value)
If .Value = "" Then
MsgBox "入力値が不正です"
.Select
Else
.NumberFormatLocal = "[h]:mm:ss"
End If
Application.EnableEvents = True
End If
End With
End Sub 'この行まで

Function MyTimeValue(MyTime As Variant) As Variant
Dim t As Variant
Dim d As Variant
If IsNumeric(MyTime) And MyTime < 2 Then
MyTimeValue = MyTime
Exit Function
End If
On Error GoTo Fin
t = Split(Format(MyTime, "000:00:00"), ":")
d = Int(t(0) / 24)
t(0) = t(0) Mod 24
MyTimeValue = d + TimeSerial(t(0), t(1), t(2))
Fin:
End Function

変換ロジックを関数化して実装してみました。
「8:30:25」「83025」どちらの入力でも対応できているはずです。
ちなみに、2未満を入力すると日とみなし、2以上を入力すると秒とみなして表示されます(この辺はやってみて下さい)。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Intersect(Target, Range("A:B")) Is Nothing Or Target.Count > 1 Then Exit Sub
With Target
If .Value <> "" Then
Application.EnableEvents = False
.Value = ...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報