• ベストアンサー

エクセルの時刻入力

こんにちは。 エクセル2003を使っています。時刻入力をする際例えば1300と入力したら13:00となるようにするには どうしたらいいのでしょうか。ユーザー定義でh:mmにして入力しても0:00と表示され 上の長細いfxとあるバーのところには1903/7/23 0:00:00と入っています。 どう設定すれば私のやりたいことができるでしょうか。 アドバイスよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

robin1124 さんこんにちは。 通常の方法では無理ですが、VBAを少しかじるとこの程度のことはできるようになります。 とりあえず、A列にだけそのような設定をしてみます。 簡単ですので以下の手順をやってみてください。 1. 該当のシートのタブを右クリックして、[コードの表示]。 2. 出てきた白い所に、以下のコードを貼付けます。 '********これより下********** Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Column <> 1 Then Exit Sub   If IsNumeric(Target.Value) Then     Application.EnableEvents = False     Target.Value = Format(Target.Value, "00:00")     Application.EnableEvents = True   End If End Sub '********これより上********** 3.Alt+F11キーでワークシートへもどります。 これでOK A列に1300とか、930とか入力してみてください。

その他の回答 (5)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.6

>1300と入力したら13:00となるようにするには  ⇒ユーザ定義では表示のみだけですから、コロン(:)を使うしかないと思います。   コロン入力が手間ならば、テンキーボード上の代替文字(仮に/)として13/00と入力、後で編集→置換で一括置換は駄目でしょうか。

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

「:」を入力しないで時刻にしたいという質問は定期的によく見かけますが、絶対におススメされません。 VBAの方法なども回答が来ていますのでお好きなものを選択されたらいいと思いますが、私のお勧めは「..」(ピリオド2つ)をオートコレクトで「:」にする方法です。 ツール→オートコレクトのオプション→入力中に自動修正するの「修正文字列」に「..」、「修正後の文字列」に「:」と入れておけば、ピリオド2つ打ったら「:」となります。

回答No.3

>時刻入力をする際例えば1300と入力したら13:00となるようにするにはどうしたらいいのでしょうか。   不可能です。できません。 >ユーザー定義でh:mmにして入力しても0:00と表示され上の長細いfxとあるバーのところには1903/7/23 0:00:00と入っています。   エクセルでは、日付時刻型は「数値で保持」されています。   日付の数値は、1を「1900/1/1」として扱い、1日進むと1増えます。   時刻の数値は、0.5を12時間、1を24時間として扱い、1時間進むと1/24増えます。   なので「1903/7/23 0:00:00」を示す数値は1300になります。   つまり、数値の1300は、日付時刻の「1903/7/23 0:00:00」と同じ値になります。   13時00分を入力したいなら「13/24(24分の13)」と同じ値である「0.541666666666666666…」を入力するか「13:00」とコロンで時と分を区切って入力する必要があります。   数値としての1300を、時分に変換するには =INT(元の値/100)/24+MOD(元の値,100)/1440 の計算が必要です。

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

入力を「1300」で表示を「13:00」にしたいだけなら、右クリックして「セルの書式設定」で「ユーザー定義」を選び ##”:”## (見やすくするために敢えて全角で書いてます。実際の入力は半角です) とすればそうなりますが、これやってもそのセルのデータは「時刻」として認識してくれません。時刻として認識させるためには上記のセルがA1セルだとした場合、 =INT(A1/100)/24+(A1-INT(A1/100)*100)/60/24 と結構めんどくさい式を適用しないといけません。まあ、基本的には「13:00」と入力するようにすることを考えた方が正解ですよ。

  • 5W2H
  • ベストアンサー率67% (429/632)
回答No.1

入力は4桁だけど、表示も計算上も時刻として認識されるように…というのはちょっと無理がありそうです。 『4桁の数字を時間表示に』(タイガー) エクセル Excel [エクセルの学校] http://www.excel.studio-kazu.jp/kw/20051107101307.html とか 『数字を4桁入力して時間表示』(KINKIN) エクセル Excel [エクセルの学校] http://www.excel.studio-kazu.jp/kw/20040523162757.html など。 作業効率を考えると、入力だけは最後まで4桁の数値で行ってしまい、後で作業列を設けて関数を用いて時刻に変更してしまう、というのがいいかもしれません。