OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

excelでの時刻の表示形式

  • すぐに回答を!
  • 質問No.113758
  • 閲覧数1388
  • ありがとう数3
  • 気になる数0
  • 回答数7
  • コメント数0

お礼率 32% (12/37)

1つのセルに例えば、「0700」と入力したら→「07:00」と表示させるには
どのような書式設定をすればいいのでしょうか?
教えてください。
通報する
  • 回答数7
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全7件)

  • 回答No.2
レベル9

ベストアンサー率 24% (19/78)

例えば、時間の足し算は残業時間を集計するときに必要になると思いますが、 数字と時間と時刻は意味合いが異なりますので注意して下さい。 では、HitomiKuroseさんの回答に補足させてもらいます。 現在、セルはhi63さんの希望通りに表示されている筈です。 でもツールバー下の計算式入力欄を良~く見ると、入力した数字がそのまま表示されている筈ですね。つまり表示形式が変わっただけで値は変わっていま ...続きを読む
例えば、時間の足し算は残業時間を集計するときに必要になると思いますが、
数字と時間と時刻は意味合いが異なりますので注意して下さい。
では、HitomiKuroseさんの回答に補足させてもらいます。

現在、セルはhi63さんの希望通りに表示されている筈です。
でもツールバー下の計算式入力欄を良~く見ると、入力した数字がそのまま表示されている筈ですね。つまり表示形式が変わっただけで値は変わっていません。

説明します。
(時刻も含めて)時間60進数と12(又は)進数ですから計算が面倒です。
仮の計算結果を残す為にB、C列を利用します。
B1に =INT(A1/100) ・・・時間と
C1に =A1-(B1*100) ・・・分に切り分けます。
この式を該当する全ての行にコピーして貼り付けます。

仮にA1からA5までデータが入力されているとすれば
B6に =SUM(B1:B5)+INT(SUM(C1:C5)/60)・・・分合計の繰り上がりも含む時間
C6に =MOD(SUM(C1:C5),60)・・・分の合計を60で割った残り、つまり分になる

とします。これでセルB6には時間が、C6には分が表示されています。
そして計算結果を表示するセルA6は下記の様になります。
=B6*100+C6
表示形式を HitomiKurose の回答通りに 00":"00 と定義すれば出来上がりです。
お礼コメント
hi63

お礼率 32% (12/37)

ありがとうございました!
できました!私もあとで時間と分に分けないとダメという
ことに気付いてつまずいているところでした・・・。
これで助かります。ありがとうございました!
投稿日時 - 2001-08-04 15:54:57

  • 回答No.1
レベル10

ベストアンサー率 38% (54/141)

実際に時刻として扱われるわけではありませんが、表示なら セルの書式設定→表示形式→ユーザー定義 で、種類の欄に 00":"00 でどうでしょう。 ...続きを読む
実際に時刻として扱われるわけではありませんが、表示なら

セルの書式設定→表示形式→ユーザー定義
で、種類の欄に

00":"00

でどうでしょう。
補足コメント
hi63

お礼率 32% (12/37)

ありがとうございます。表示はできました!
書き忘れたのですが、さらに時刻の足し算もしたいのですが
どうしたらいいでしょう?
(A1)02:00
(A2)03:00
(A3)05:00
というようにA3に時刻の合計を出したい時は?
質問が足りなくて申し訳ありませんが教えてください!
投稿日時 - 2001-08-04 11:49:46
  • 回答No.3
レベル13

ベストアンサー率 68% (791/1163)

SUM()の時分版のユーザー定義関数を作ってみました。 =SUM(範囲,範囲,値・・・) と同じように、=SumTime(範囲,範囲,値・・・)とします。 多分、SUM()と同じ機能です。範囲には範囲名も使えます。 合計時間と合計分を入力と同じ形式で返します。 標準モジュールに貼り付けます。 Public Function SumTime(rgTime As Range, ParamAr ...続きを読む
SUM()の時分版のユーザー定義関数を作ってみました。

=SUM(範囲,範囲,値・・・) と同じように、=SumTime(範囲,範囲,値・・・)とします。
多分、SUM()と同じ機能です。範囲には範囲名も使えます。
合計時間と合計分を入力と同じ形式で返します。

標準モジュールに貼り付けます。
Public Function SumTime(rgTime As Range, ParamArray aryTime() As Variant)
  Dim Union_rg As Range '集計するセル範囲
  Dim rg As Range 'セル
  Dim hour_T, minute_T As Long '時間の計、分の計
  Dim ary As Integer '配列カウンタ

  Application.Volatile
  'SumTimeの指定値が範囲なら結合する。値なら集計する。
  Set Union_rg = rgTime
  For ary = 0 To UBound(aryTime())
    If IsNumeric(aryTime(ary)) Then
      'SumTimeに数値がセットされていた場合
      hour_T = hour_T + Int(aryTime(ary) / 100)
      minute_T = minute_T + (aryTime(ary) Mod 100)
    Else
      'SumTimeに範囲がセットされていた場合
      Set Union_rg = Union(Union_rg, aryTime(ary))
    End If
  Next
  '範囲指定部分の時、分を集計
  For Each rg In Union_rg
    hour_T = hour_T + Int(rg / 100)
    minute_T = minute_T + (rg Mod 100)
  Next
  '時分にする(60進数)
  hour_T = hour_T + Int(minute_T / 60)
  minute_T = minute_T Mod 60
  '表示形式をあわせる(時分の結合)
  SumTime = hour_T * 100 + minute_T
End Function
補足コメント
hi63

お礼率 32% (12/37)

回答ありがとうございます!
これはセルを時間と分に分けて入力してるんでしょうか?
引数の部分がちょっとわからなかったので
教えていただけますか。よろしくお願い致します。
投稿日時 - 2001-08-04 16:06:21
  • 回答No.4
レベル13

ベストアンサー率 68% (791/1163)

(A1)02:00 (A2)03:00 (A3)05:00 と入力されていたら、(A4)に=SumTime(A1:A3) とします。 (A4)の書式を(A3)と同じにすれば、10:00と表示されます。(実際は1000です) 時間、分を抜き出して、例えばB4、C4に書くとすれば  時間は (B4)=INT(A4/100)   分は (C4)=MOD(A4,100) となります。 ...続きを読む
(A1)02:00
(A2)03:00
(A3)05:00

と入力されていたら、(A4)に=SumTime(A1:A3) とします。
(A4)の書式を(A3)と同じにすれば、10:00と表示されます。(実際は1000です)

時間、分を抜き出して、例えばB4、C4に書くとすれば
 時間は (B4)=INT(A4/100)
  分は (C4)=MOD(A4,100)
となります。

別の列を補助計算に使ってもいいんですが、入力が増えるたびに補助の数式が必要なので、直接合計してしまう主旨で作りました。
  • 回答No.6
レベル10

ベストアンサー率 38% (54/141)

再びHitomiKuroseです。 強引に1つの式にしてみました。 =INT((A1+A2-INT(A1/100)*40-INT(A2/100)*40)/60)*100+MOD(A1+A2-INT(A1/100)*40-INT(A2/100)*40,60) A1-INT(A1/100)*40でA1を分に直しています。A2も同様。 で、それを合計して、再び元の形式に戻してます。 表示形 ...続きを読む
再びHitomiKuroseです。
強引に1つの式にしてみました。

=INT((A1+A2-INT(A1/100)*40-INT(A2/100)*40)/60)*100+MOD(A1+A2-INT(A1/100)*40-INT(A2/100)*40,60)

A1-INT(A1/100)*40でA1を分に直しています。A2も同様。
で、それを合計して、再び元の形式に戻してます。

表示形式は前述の00":"00にして下さい。
  • 回答No.5
レベル13

ベストアンサー率 68% (791/1163)

再度説明させてもらいます。 >引数の部分がちょっとわからなかったので ということなので・・・ SUM関数は、例えば、=SUM(A1:A10,B1:B10,DataTable,C1,15,100) のように、 範囲、A1:A10、B1:B10、DataTable、C1 の値と、実際の値、15、100 を加算すると書けます。 どうせ作るなら、SUMと同じにしようということで  = ...続きを読む
再度説明させてもらいます。

>引数の部分がちょっとわからなかったので

ということなので・・・

SUM関数は、例えば、=SUM(A1:A10,B1:B10,DataTable,C1,15,100) のように、
範囲、A1:A10、B1:B10、DataTable、C1 の値と、実際の値、15、100 を加算すると書けます。

どうせ作るなら、SUMと同じにしようということで
 =SumTime(A1:A10,B1:B10,DataTable,C1,15,100)
とすれば、hi63さんの入力方法で色々な場所と固定値を時刻として加算できるようにしてあります。
  • 回答No.7
レベル12

ベストアンサー率 52% (322/612)

みなさんこんばんは! hiさんの追記のご質問は 実際入力されている数値(表示だけは00:00形式) での合計 A(実数)(表示のみ) 1 0200 → 02:00  2 0300 → 03:00 3 0400 → 04:00 とのことですから、集計時にシリアル値に変換する 必要があると思います! 結果  =SUM(TEXT(A1:A3,"0!:00" ...続きを読む
みなさんこんばんは!

hiさんの追記のご質問は
実際入力されている数値(表示だけは00:00形式)
での合計
A(実数)(表示のみ)
1 0200 → 02:00 
2 0300 → 03:00
3 0400 → 04:00

とのことですから、集計時にシリアル値に変換する
必要があると思います!

結果
 =SUM(TEXT(A1:A3,"0!:00")*1)
配列数式なので数式バーにカーソルがある状態で
[Ctrl]+[Shift]+[Enter]で確定

上手くいけば
数式バーの表示は
 {=SUM(TEXT(A1:A3,"0!:00")*1)}
となっている筈です。
シリアル値なので書式設定は時刻にして下さい!
(24時間を超える場合はユーザー定義 [h]:mm)
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ