• ベストアンサー

excelにて文字列を時刻として認識させたい

たとえば 500と入力したときセルの表示には5:00と表示させ さらにそれを5:00であることを認識させるにはどうすればいいでしょうか? セルの書式で「0":"00」とすれば時刻形式にはなりますが、時刻としては認識しないので・・・

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

文字列からでタイムシリアル値に変換するのは、TIMEVALUE関数しかありません。TIME関数に持ち込む方法もありますが。 時間:分:秒のカタチの引数にします。 F1セルに =TIMEVALUE(LEFT(E1,LEN(E1)-2)&":"&RIGHT(E1,2)&":00") 式を下方向に複写する。 例 E列   F列 500 5:00:00 1200 12:00:00 34 #VALUE! 2312 23:12:00 2300 23:00:00 412 4:12:00 ーー 分だけの入力がある場合があれば、G1に =IF(LEN(E1)<3,TIMEVALUE("00:"&E1&":00"),TIMEVALUE(LEFT(E1,LEN(E1)-2)&":"&RIGHT(E1,2)&":00")) 式を下方向に複写する。 例データ E列  F列   G列 500 5:00:00 5:00:00 1200 12:00:00 12:00:00 34 #VALUE! 0:34:00 2312 23:12:00 23:12:00 2300 23:00:00 23:00:00 412 4:12:00 4:12:00 2 #VALUE! 0:02:00

pika-do
質問者

お礼

教えていただいた方法で解決しました ありがとうございました

その他の回答 (3)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆時刻として認識させるには、こんな方法も =TIME(INT(A1/100),RIGHT(A1,2),)

pika-do
質問者

お礼

ありがとうございました 無事に解決しました

noname#204879
noname#204879
回答No.3

》 セルの書式で「0":"00」とすれば時刻形式にはなります… 0!:00 でもOKです。 時刻として計算するときは、=TEXT(A1,"0!:00")+0 としたら如何?

pika-do
質問者

お礼

ありがとうございます 無事に解決しました

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

対象をA1セルとした場合、 1.シート名のタブを右クリック 2.コードの表示 3.表示された右側の白い広い部分に以下をコピーペ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub x = Target.Value Application.EnableEvents = False Target.Value = IIf(Len(x) = 4, Left(x, 2) & ":" & Right(x, 2), Left(x, 1) & ":" & Right(x, 2)) Application.EnableEvents = True End Sub 4.Altキー+F11キーで元に戻る。 これでA1セルに730と入れると7:30に、1200と入れると12:00となります。 では、良いお年を!

pika-do
質問者

お礼

ありがとうございます 無事に解決しました