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


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

回答の条件
  • 1人3回まで
  • 登録:2017/03/13 00:02:27
  • 終了:2017/03/14 02:21:31

ベストアンサー

id:kimuram No.3

kimuram回答回数10ベストアンサー獲得回数42017/03/13 12:54:10

ポイント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

degucho回答回数253ベストアンサー獲得回数672017/03/13 02:29:23

ポイント100pt

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

id:sample2

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

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

a-kuma3回答回数4490ベストアンサー獲得回数18582017/03/13 09:00:28

ポイント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

kimuram回答回数10ベストアンサー獲得回数42017/03/13 12:54:10ここでベストアンサー

ポイント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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません