「2017-01-31 午前3時22分」というフォーマットの日時データを、Excelで「日時」として扱える形式に変換したいのですが、どう書き換えたらいいでしょうか?


スマート体重計からデータを取り出したら、計測日時のデータが上記のフォーマットになっており、Excelでグラフを作ってみても、日時として認識されないのです。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2017/03/14 02:21:31
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kimuram No.3

回答回数27ベストアンサー獲得回数11

ポイント100pt

前の方はVBAでの回答をされていますが、セル関数だけでやりたいならと、以下のようにしてみました。
ちょっと面倒な姑息な感じでもありますが。

前提として、「2017-01-31 午前3時22分」の形式限定とします。
日付は10文字、スペース1文字おいて、時刻は「午前」または「午後」、時と分の数字は1~2桁)
セルB2に計測日時のデータがあるとして、セルB3への数式が以下です。
=IF(ISERR(FIND("午前",B2)),0.5,0)+DATEVALUE(LEFT(B2,10))+TIMEVALUE(MID(B2,14,LEN(B2)-13))

このセルに表示形式を適用すればいろいろな表示をすることが出来ます。また値のみで他のセルにコピーすることも可能です。
グラフの見出しやデータとしても使用可能です。
試してみてください。

id:sample2

ありがとうございました!

2017/03/14 02:20:21

その他の回答2件)

id:degucho No.1

回答回数281ベストアンサー獲得回数75

ポイント100pt

A1にそのデータが入力されているとして
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"時",":"),"分",""),"午前",""),"`午後","")
でこちらで日付と認識されましたのでいったんこのように
式を入力した列でグラフ作成してみてください

id:sample2

ありがとうございました!

2017/03/14 02:20:02
id:a-kuma3 No.2

回答回数4973ベストアンサー獲得回数2154

ポイント100pt

こんな感じ。

Sub conv_datetime()
    source_col = 1		' A列
    dest_col = 2		' B列

    last_row = Cells(Rows.Count, source_col).End(xlUp).Row
    For r = 2 To last_row
        Cells(r, dest_col).Value = CDate(Cells(r, source_col))
    Next
End Sub

A列に入った文字列を、日付型にして B列に入れてます。
文字列の加工が必要かなと思ったら、CDate 関数でそのまま日付に変換できました。
午前と午後も正しく変換できます。

id:sample2

ありがとうございました!

2017/03/14 02:20:09
id:kimuram No.3

回答回数27ベストアンサー獲得回数11ここでベストアンサー

ポイント100pt

前の方はVBAでの回答をされていますが、セル関数だけでやりたいならと、以下のようにしてみました。
ちょっと面倒な姑息な感じでもありますが。

前提として、「2017-01-31 午前3時22分」の形式限定とします。
日付は10文字、スペース1文字おいて、時刻は「午前」または「午後」、時と分の数字は1~2桁)
セルB2に計測日時のデータがあるとして、セルB3への数式が以下です。
=IF(ISERR(FIND("午前",B2)),0.5,0)+DATEVALUE(LEFT(B2,10))+TIMEVALUE(MID(B2,14,LEN(B2)-13))

このセルに表示形式を適用すればいろいろな表示をすることが出来ます。また値のみで他のセルにコピーすることも可能です。
グラフの見出しやデータとしても使用可能です。
試してみてください。

id:sample2

ありがとうございました!

2017/03/14 02:20:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません