こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excelで分秒だけを簡単に入力する方法は?

Excelで動画の再生リストを作っているのですが、動画はどれも数分のものです。

何分何秒なのかを記すセルがあるのですが、例えば4分13秒というデータを入れようとすると「0:4:13」と記入すると入れないといけませんよね?
「4:13」と入れると「4:13:00」と4時間13分となってしまいます。

まあ見た目重視と言うことでセル書式で秒を表示しないようにして4分13秒と思い込むというやり方もあるかと思いますが、僕はそういうのはどうも気持ち悪くて、きちんと「0:4:13」としてセルに入力したいです。
かといって、いちいち最初の「0:」を入れるのも面倒臭い。

これ、「4:13」と入れるだけで頭の「0:」も入ったことになり、きちんと4分13秒として入力する方法ってないでしょうか?
きちんと「0:4:13」と打つしか方法は無い?

投稿日時 - 2020-01-13 20:17:32

QNo.9701321

すぐに回答ほしいです

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

誰もやらないと思うが、実験的にVBAを使うと、とうなるか、やってみた。
ーー
Sheet1のA列に限り、「分:秒」で入力
A列の書式設定は
m"分"ss"秒" とする。
Sheet1のシートイベントモジュールに
Private Sub Worksheet_Change(ByVal Target As Range)
'MsgBox "aa"
If Target.Column = 1 Then 'A列の入力に限り
x = Target / 60
'MsgBox Format(x, "hh:mm:ss")
Application.EnableEvents = False
Target = x
Application.EnableEvents = True
End If
入力は3分14秒の場合3:14(半角数字)と入れて、後にEnter
結果
セルの見た目は3分14秒
セルの値も、時刻シリアル値で、3分14秒(0.00224537037037037」になる。
ーー
エクセルは入力において、時刻の入れかたの、:を使うと、非常に強力に、前段階で時刻にしてしまうことを感じて、難しかった。
ChangeイベントやApplication.EnableEvents = TRUEは扱いがむつかしく、お勧めしないが。
==
やはり別列に、一旦文字列で入力しておいて(3:14など)、A列などに、関数で時刻値化するのが素直でしょうね。

投稿日時 - 2020-01-14 11:32:21

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

入力枠とは別に「=〇〇/60」という表示セルを作れば4分13秒と認識されます。
その表示枠をそのまま使ってもいいですし、気になるならセルをコピーして値貼り付けで非数式化できます。この辺りはお好みでどうぞ。

投稿日時 - 2020-01-13 22:01:17

ANo.1

ユーザー定義書式##":"##として1234と入力すれば12:34になるってことで手を打てばどうですか。

投稿日時 - 2020-01-13 21:33:48

あなたにオススメの質問