- 締切済み
Excelで:(コロン)を省いた時刻入力
セルに11時45分などを入力するのに、1145とコロンを打たずに入力していきたいのですが、どうすれば良いでしょうか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- big_fool
- ベストアンサー率22% (43/193)
No2です No4さんの回答を参考に少し考えて見ました 時間の表示方法は私の書式設定でよいと思います 時間の計算はNo4さんの回答のように TEXT関数で一度文字に変換しそれを再度TIMEVALUE関数でシリアル値に変換する方法は良いと思います 付け加えて記入すると例えば時間の合計を求めるとすると =TIMEVALUE(TEXT(SUM(合計するセル範囲),"00"":""00")) とし 合計セルの書式設定を「セルの書式設定」ダイヤログボックスの「表示形式」タブの分類ボックスの時刻を選択しその中の設定したい表示形式を選択すればよいと思います ただし24時間を越えるをエラーになってしまいました
- dai-cha-n
- ベストアンサー率27% (12/43)
#1さんや#2さんのような形で入れると、"8:30"が"830"と入力されます。 これをあとで時刻として使うときは、 =TIMEVALUE(TEXT(そのセル,"00"":""00")) とすればいけると思います。
- ja7awu
- ベストアンサー率62% (292/464)
0~2359 までの数値入力に対し、時刻と認識させるためには、書式では、 出来ないと思います。 VBAが必須になりますが、もし、それで宜しかったら、操作手順を詳しく 書きますので、テストしてみてください。 ・ 使用しているシートのシート名タブを右クリックし、「コードの表示」を 選択します。 ・ 表示されたコードウィンドウに下記コードをコピーして貼り付けます。 (Option Explicit があったらその行の下に貼り付けます。) ・ コードの5行目で、時刻を入力する範囲を実情に合わせ変更します。 ・ Alt + Q でウィンドウを閉じ、シートに戻ります。 時刻入力範囲の表示形式を時刻にし、種類を任意に指定します。 これで、1234 と入力すると 12:34 になります。 5 は0:05、30は0:30、123は1:23 というようになります。 567 など時刻として認識できない数字を入力した場合は、メッセージが出て、 その後消去されます。 Private Sub Worksheet_Change(ByVal Target As Range) Dim Hani As Range Dim i As Integer Dim col As Integer Set Hani = Range("A:A") ' 入力範囲指定 Set Target = Application.Intersect(Hani, Target) If Target Is Nothing Then Exit Sub ' 範囲外無視 If Target.Count > 1 Then Exit Sub ' 複数セル無視 If Target.Value < 1 Then Exit Sub 'すでに時刻形式無視 i = Val(Target.Value) On Error GoTo inp_err Target.Value = TimeValue(Format(i, "#0:00")) Set Hani = Nothing Exit Sub inp_err: Target.Select MsgBox "入力した値 " & i & " は、時刻として範囲外です。", vbCritical Selection = vbNullString End Sub
- big_fool
- ベストアンサー率22% (43/193)
書式設定で##"時"##"分"と設定すれば要望の表示にはなりますが 問題は時間として計算してくれないことです 表示のみならよろしいのですが・・・・・
- lanlead
- ベストアンサー率42% (95/225)
入力したいセルを範囲指定して右クリックしてください。 「セルの書式設定」をクリックした後、入力規則で「ユーザー定義」をクリック。 右側にユーザー指定の一覧がでますから上の入力マスに ?":"?? と、入れてください。 これでできます。
補足
皆さん、回答ありがとうございます。 ちょっと言葉足らずというか、質問の仕方が悪かったかもしれません。 5:45 3:20 6:50、、、と言うように、時刻をたくさん入力して、最後にその合計をSAM関数で表示させる。と言った感じです。 (一ヶ月の残業時間の合計?とでも思ってください) 今までは、:(コロン)も入力していたのですが、「テンキーで数字入力だけなら楽だろうな~」と思った次第です。 ですので時刻として認識し、表示もして、尚かつ計算もできるようにしたいのです。 セルA1~A30に入力。A31に合計を表示する。この場合のやり方を教えていただければ助かるのですが、、、。